国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Ruby - Ruby中的數(shù)組和散列表的使用詳解

Ruby中的數(shù)組和散列表的使用詳解

2020-05-03 12:21腳本之家 Ruby

這篇文章主要介紹了Ruby中的數(shù)組和散列表的使用詳解,是Ruby入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

Ruby數(shù)組(arrays)和散列表(hashes)是被索引的收集(indexed collections).

兩者都存儲(chǔ)對(duì)象的集合,通過鍵(key)來訪問。數(shù)組的鍵是整數(shù)。而散列表支持以任何對(duì)象作為它的鍵。數(shù)組和散列表會(huì)按需調(diào)整大小來保存新的元素。訪問數(shù)組元素是高效的,但是散列表提供了靈活性。任何具體的數(shù)組或散列表可以保存不同類型的對(duì)象。

使用數(shù)組字面量(array literal)--即方括號(hào)之間放一組元素--可以創(chuàng)建和初始化新的數(shù)組對(duì)象。有了數(shù)組對(duì)象,在方括號(hào)之間提供索引便可以訪問單個(gè)元素,如下例所示,注意Ruby數(shù)組的索引從零開始。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
a=[1,'cat',3.14]     #有三個(gè)元素的數(shù)組
 
#訪問第一個(gè)元素
 
a[0]  -> 1
 
#設(shè)置第三個(gè)元素
 
a[2] = nil
 
#顯示這個(gè)數(shù)組
 
a ->[1,'cat',nil]

你可能已注意到在這個(gè)例子中使用了nil這個(gè)特別的值。許多語言中nil(或null)的概念是指“沒有對(duì)象”。在Ruby中,這是不一樣的;nil是一個(gè)對(duì)象,與別的對(duì)象一樣,只不過它用來表示沒有任何東西的對(duì)象。

有時(shí)候創(chuàng)建一組單詞的數(shù)組是一件痛苦的事情--要處理許多引號(hào)和逗號(hào)。幸運(yùn)的是,Ruby有一種快捷方式:%w 能夠完成我們想做的事情。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
a = ['ant','bee','cat','dog','elk']
 
a[0] -> "ant"
 
a[3] -> "dog"
 
#this is the same:
 
a = %w{ant bee cat dog elk}
 
a[0] -> "ant"
 
a[3] -> "dog"

Ruby的散列表與數(shù)組相似。散列表字面量(hash literal)使用花括號(hào)而不是方括號(hào)。這個(gè)字面量必須為每一項(xiàng)提供兩個(gè)對(duì)象:一個(gè)鍵(key)和一個(gè)值(value)。

例如,你可能想將樂器映射到它們所屬的交響樂章節(jié),可以用散列表這么來做:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
inst_section = {
 
'cello'   => 'string',
 
'clarinet' => 'woodwind',
 
'drum'  => 'percussion',
 
'oboe'   => 'woodwind',
 
'trumpet' => 'brass',
 
'violin'   => 'string'
 
}

=>的左邊是鍵(key),右邊是其對(duì)應(yīng)的值(value)。在一個(gè)散列表里面,鍵必須是唯一的(不能有兩個(gè)“drum”項(xiàng))。散列表里面的鍵和值可以是任意對(duì)象--你可能會(huì)有這樣的散列表,它的值是數(shù)組或別的散列表等。

散列表使用與數(shù)組相同的方括號(hào)表示法來進(jìn)行索引。

?
1
2
3
4
5
inst_section['oboe']           -> "woodwind"
 
inst_section['cello']            -> "string"
 
inst_section['bassoon']         -> nil

正如上例所示,默認(rèn)情況下,如果用一個(gè)散列表沒有包含的鍵進(jìn)行索引,散列表就返回nil。通常這樣是很方便的,比如在條件表達(dá)式中nil就意味著false。而有時(shí)候你可能想改變這個(gè)默認(rèn)動(dòng)作。比如使用散列表來計(jì)算每個(gè)鍵出現(xiàn)的次數(shù)時(shí),如果這個(gè)默認(rèn)值是0的話就會(huì)很方便。這很容易做到:當(dāng)創(chuàng)建一個(gè)新的空散列表時(shí),可以指定一個(gè)默認(rèn)值。

?
1
2
3
4
5
6
7
histogram = Hash.new(0)
 
histogram['key1']            ->0
 
histogram['key1'] = histogram['key1']+1
 
histogram['key1']            ->1

 

延伸 · 閱讀

精彩推薦
  • RubyRuby迭代器的7種技巧分享

    Ruby迭代器的7種技巧分享

    這篇文章主要介紹了Ruby迭代器的7種技巧分享,Ruby中的迭代器非常人性化,本文既是講解了7個(gè)技巧也是講解了7種迭代器,需要的朋友可以參考下 ...

    腳本之家4782020-04-20
  • RubyRuby進(jìn)行文件信息輸出實(shí)例代碼

    Ruby進(jìn)行文件信息輸出實(shí)例代碼

    Ruby進(jìn)行文件信息輸出實(shí)例代碼,數(shù)據(jù)是隨機(jī)的,所以每次的記錄都會(huì)不同。 ...

    ruby教程網(wǎng)2962020-04-10
  • Ruby簡要說明Ruby中的迭代器

    簡要說明Ruby中的迭代器

    這篇文章主要介紹了Ruby中的迭代器,迭代器的概念在動(dòng)態(tài)語言的編程中十分重要,文章中介紹了Ruby中的each迭代器和collect迭代器,需要的朋友可以參考下 ...

    goldensun2772020-04-25
  • Ruby剖析 Ruby 訪問控制

    剖析 Ruby 訪問控制

    前面,我們說 Ruby 沒有函數(shù),只有方法.而且實(shí)際上有不止一種方法.這一節(jié)我們介紹 訪問控制 (accesscontrols). 想想當(dāng)我們?cè)谧罡邔佣皇窃谝粋€(gè)類的定義里定義...

    ruby教程網(wǎng)3572020-04-08
  • RubyRuby簡潔學(xué)習(xí)筆記(一):字符串、數(shù)字、類和對(duì)象

    Ruby簡潔學(xué)習(xí)筆記(一):字符串、數(shù)字、類和對(duì)象

    這篇文章主要介紹了Ruby簡潔學(xué)習(xí)筆記(一):字符串、數(shù)字、類和對(duì)象,本文是學(xué)習(xí)筆記第一篇,需要的朋友可以參考下 ...

    腳本之家2472020-04-20
  • RubyRuby設(shè)計(jì)模式編程中使用Builder建造者模式的實(shí)例

    Ruby設(shè)計(jì)模式編程中使用Builder建造者模式的實(shí)例

    這篇文章主要介紹了Ruby設(shè)計(jì)模式編程中使用Builder建造者模式的實(shí)例,建造者模式將一個(gè)復(fù)雜對(duì)象的構(gòu)造與它的表示分離,使同樣的構(gòu)建過程可以創(chuàng)建不同的表...

    范孝鵬2192020-05-07
  • RubyRuby環(huán)境下安裝使用bundler來管理多版本的gem

    Ruby環(huán)境下安裝使用bundler來管理多版本的gem

    這篇文章主要介紹了Ruby環(huán)境下安裝使用bundler來管理多版本的gem的方法,舉了Ruby On Rails中的應(yīng)用實(shí)例來進(jìn)行演示,需要的朋友可以參考下 ...

    日拱一卒4332020-05-10
  • RubyCentOS中配置Ruby on Rails環(huán)境

    CentOS中配置Ruby on Rails環(huán)境

    經(jīng)過一個(gè)上午的折騰,終于把ROR環(huán)境在CentOS中搞定,繞了很多彎路,把文章寫下來總結(jié)一下 ...

    可樂加糖4762020-04-12
主站蜘蛛池模板: 国产欧美综合一区二区三区 | 精品一区二区电影 | 国产毛片视频 | 在线观看免费视频国产 | 特级毛片在线大全免费播放 | 成人免费视频网站在线观看 | 欧美日韩精品在线观看 | 欧美日韩国产一区二区三区 | 91人人看| 日韩毛片免费视频一级特黄 | 日韩欧美在线免费观看 | 欧美日韩国产在线播放 | 久久久九九| 亚洲一区 欧美 | 国产精品久久久久久久久福交 | 每日更新在线观看av | 黄色小视频在线观看 | 亚洲一区高清 | 黄色国产| 亚洲国产aⅴ成人精品无吗 成人午夜视频在线观看 | 在线国产视频 | 日狠狠| 国产高清在线视频 | 成人免费黄色大片 | 国产福利电影在线观看 | 欧美在线 | 亚洲 | 久久小视频 | 国产高清视频在线 | 91亚洲精品在线 | 成人免费观看www的片 | 久久国产视频精品 | 久久久久一区二区三区 | 欧美日韩精品网站 | 国产在线观看91一区二区三区 | 久久久久一区二区三区 | www.久久精品 | 中文字幕在线免费视频 | 黑人精品 | 成人爽a毛片一区二区免费 成年人毛片视频 | 国产精品久久久久久久久免费 | 国产91色 |