亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Ruby > 正文

Ruby基礎知識之數據類型

2020-10-29 19:41:01
字體:
來源:轉載
供稿:網友

一、數值類型

(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進行解除污染。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久精品| 亚洲电影免费观看高清完整版在线| 欧美一区视频在线| 色先锋资源久久综合5566| 成人性生交大片免费看小说| 91av成人在线| 国外成人在线播放| 色婷婷综合成人| 亚洲欧美国产高清va在线播| 日韩精品视频在线观看网址| 欧美黑人一区二区三区| 久99久在线视频| 日韩中文字幕国产精品| 久久偷看各类女兵18女厕嘘嘘| 成人久久久久久久| 8x拔播拔播x8国产精品| 久久精品人人做人人爽| 日韩欧美在线视频日韩欧美在线视频| 成人性生交大片免费看小说| 亚洲激情成人网| 6080yy精品一区二区三区| 欧美日韩亚洲精品内裤| 亚洲免费视频观看| 日韩网站免费观看高清| 国产精品一区二区三区免费视频| 久久免费精品日本久久中文字幕| 国产精品美女久久久免费| 91久久久久久久久久久| 日本精品性网站在线观看| 亚洲一级免费视频| 国内精品久久影院| 日韩久久免费电影| 欧美丝袜第一区| 亚洲热线99精品视频| 亚洲影院高清在线| 亚洲一区二区中文字幕| 亚洲第一色在线| 欧美电影院免费观看| 91午夜理伦私人影院| 69国产精品成人在线播放| 日本久久精品视频| 欧美成人免费一级人片100| 性色av香蕉一区二区| 日韩中文第一页| 久精品免费视频| 亚洲国产精品久久精品怡红院| 日本成人精品在线| 久久久久久久网站| 成人天堂噜噜噜| 97婷婷涩涩精品一区| 久久免费精品视频| 国产成一区二区| 久久精品亚洲国产| 国内久久久精品| 亚洲精品99久久久久| 91人人爽人人爽人人精88v| 欧美激情性做爰免费视频| 国产在线播放91| 国产精品美女主播在线观看纯欲| 亚洲欧洲av一区二区| 亚洲精品在线观看www| 欧美成人性生活| 国产在线观看精品一区二区三区| 亚洲国产高清自拍| 日韩欧美亚洲范冰冰与中字| 中文字幕精品一区二区精品| 九九热最新视频//这里只有精品| 一道本无吗dⅴd在线播放一区| 久久青草精品视频免费观看| 一区二区日韩精品| 国产精品久久久久久婷婷天堂| 色琪琪综合男人的天堂aⅴ视频| 亚洲欧美精品一区| yw.139尤物在线精品视频| 国产aⅴ夜夜欢一区二区三区| 日韩欧美999| 久久久av电影| 欧美另类极品videosbest最新版本| 欧美成人剧情片在线观看| 色悠悠久久久久| 欧美精品videofree1080p| 久久久精品久久久| 亚洲综合精品伊人久久| 中文字幕日韩精品在线观看| 成人免费淫片aa视频免费| 日韩成人网免费视频| 伊人男人综合视频网| 91夜夜揉人人捏人人添红杏| 欧美高清激情视频| 亚洲成人黄色在线观看| 成人午夜高潮视频| 欧美日韩第一页| 久久久久久久久久久亚洲| 国产精品视频xxxx| 日韩av电影在线播放| 欧美日韩性视频| 日韩风俗一区 二区| 一区二区三区天堂av| 这里只有精品久久| 国产小视频国产精品| 欧美在线一级va免费观看| 黑人极品videos精品欧美裸| 中文字幕日韩av| 国产精选久久久久久| 久久九九国产精品怡红院| 亚洲精品一区二区三区婷婷月| 日韩av免费看| 国产一区二区在线免费视频| 8090理伦午夜在线电影| yw.139尤物在线精品视频| 国产一区二区丝袜高跟鞋图片| 国产成人一区二| 欧美日韩综合视频| 日本高清不卡在线| 亚洲国产精久久久久久| 日韩电影中文字幕一区| 爽爽爽爽爽爽爽成人免费观看| 久久精品国产综合| 97视频在线免费观看| 成人免费视频在线观看超级碰| 国产精品视频白浆免费视频| 精品偷拍一区二区三区在线看| 国产成人精品av在线| 日本一区二区不卡| 日韩电视剧在线观看免费网站| 亚洲第一男人天堂| 2019亚洲男人天堂| 欧美色道久久88综合亚洲精品| 国产精品99久久99久久久二8| 国产ts一区二区| 欧美性受xxxx白人性爽| 中文字幕不卡在线视频极品| 欧美色欧美亚洲高清在线视频| 午夜精品一区二区三区视频免费看| 久久大大胆人体| 亚洲精品按摩视频| 国产不卡av在线| 69久久夜色精品国产69乱青草| 久久亚洲精品中文字幕冲田杏梨| 国模精品一区二区三区色天香| 精品久久香蕉国产线看观看亚洲| 午夜精品国产精品大乳美女| 国产精品久久9| 亚洲免费一在线| 亚洲一区二区免费在线| 亚洲国产私拍精品国模在线观看| 日韩精品视频在线播放| www亚洲欧美| 少妇高潮久久久久久潘金莲| 91视频国产一区| 日韩专区在线播放| 国产精品精品视频一区二区三区| 日韩国产欧美区| 欧美在线观看网站| 国产精品入口免费视| 第一福利永久视频精品| 国产精品激情av在线播放| 在线观看日韩www视频免费| 国产美女主播一区| 亚洲精品v天堂中文字幕| 91系列在线播放| 人人做人人澡人人爽欧美| 亚洲免费高清视频| 欧美激情久久久久久|