Ruby創(chuàng)建數(shù)組方法總結(jié)
程序經(jīng)常需要管理變量集合。例如,管理日歷的程序必須有一周的天數(shù)列表。每天必須存儲(chǔ)在一個(gè)變量中,它們的列表可以存儲(chǔ)在一個(gè)數(shù)組變量中。通過這個(gè)數(shù)組變量,您可以訪問每一天。
創(chuàng)建空數(shù)組
您可以通過創(chuàng)建一個(gè)新的數(shù)組對(duì)象并將其存儲(chǔ)在一個(gè)變量中來(lái)創(chuàng)建一個(gè)空數(shù)組。這個(gè)數(shù)組將為空;您必須用其他變量填充它才能使用它。如果要從鍵盤或文件中讀取內(nèi)容列表,這是創(chuàng)建變量的一種常見方法。
在下面的示例程序中,使用array命令和賦值運(yùn)算符創(chuàng)建一個(gè)空數(shù)組。從鍵盤上讀取三個(gè)字符串(字符的有序序列)并“pushed”或添加到數(shù)組的末尾。
#!/usr/bin/env ruby array = Array.new 3.times do str = gets.chomp array.push str end
使用數(shù)組文字來(lái)存儲(chǔ)已知信息
數(shù)組的另一個(gè)用途是存儲(chǔ)編寫程序時(shí)已經(jīng)知道的內(nèi)容的列表,例如星期幾。要將星期幾存儲(chǔ)在數(shù)組中,可以創(chuàng)建一個(gè)空數(shù)組,并像前面的示例那樣將它們一個(gè)接一個(gè)地追加到數(shù)組中,但是有一種更簡(jiǎn)單的方法??梢允褂脭?shù)組文字。
在編程中,“l(fā)iteral”是一種內(nèi)置在語(yǔ)言本身中的變量類型,它有特殊的語(yǔ)法來(lái)創(chuàng)建它。例如,3是一個(gè)數(shù)字文字,而“Ruby”是一個(gè)字符串文字。數(shù)組文字是用方括號(hào)括起來(lái)并以逗號(hào)分隔的變量列表,如[1,2,3]。注意,任何類型的變量都可以存儲(chǔ)在數(shù)組中,包括同一數(shù)組中不同類型的變量。
下面的示例程序創(chuàng)建一個(gè)包含星期幾的數(shù)組并將其打印出來(lái)。使用數(shù)組文字,并使用每個(gè)循環(huán)來(lái)打印它們。注意,每一個(gè)都不是Ruby語(yǔ)言內(nèi)置的,而是數(shù)組變量的函數(shù)。
#!/usr/bin/env ruby days = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] days.each do|d| puts d end
使用索引操作符訪問各個(gè)變量
除了對(duì)數(shù)組進(jìn)行簡(jiǎn)單的循環(huán)(按順序檢查每個(gè)單獨(dú)的變量)之外,還可以使用index操作符從數(shù)組中訪問單獨(dú)的變量。index操作符將獲取一個(gè)數(shù)字并從數(shù)組中檢索一個(gè)變量,該變量在數(shù)組中的位置與該數(shù)字匹配。索引號(hào)從0開始,因此數(shù)組中的第一個(gè)變量的索引為0。
例如,要從數(shù)組中檢索第一個(gè)變量,可以使用數(shù)組[0],要檢索第二個(gè)變量,可以使用數(shù)組[1]。在下面的示例中,名稱列表存儲(chǔ)在數(shù)組中,并使用index操作符檢索和打印。索引操作符還可以與賦值操作符組合使用,以更改數(shù)組中變量的值。
#!/usr/bin/env ruby names = [ "Bob", "Jim", "Joe", "Susan" ] puts names[0] # Bob puts names[2] # Joe # Change Jim to Billy names[1] = "Billy"
相關(guān)文章
c# 兩個(gè)數(shù)組比較,將重復(fù)部分去掉,返回不重復(fù)部分的實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇c# 兩個(gè)數(shù)組比較,將重復(fù)部分去掉,返回不重復(fù)部分的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-12-12關(guān)于C#操作文件路徑(Directory)的常用靜態(tài)方法詳解
這篇文章主要給大家介紹了關(guān)于C#操作文件路徑(Directory)的常用靜態(tài)方法,Directory類位于System.IO 命名空間,Directory類提供了在目錄和子目錄中進(jìn)行創(chuàng)建移動(dòng)和列舉操作的靜態(tài)方法,需要的朋友可以參考下2021-08-08C# 以MDF文件鏈接數(shù)據(jù)庫(kù)的示例代碼
本篇文章主要介紹了C# 以MDF文件鏈接數(shù)據(jù)庫(kù)的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-09-09c# Linq distinct不會(huì)調(diào)用Equals方法詳解
這篇文章主要介紹了c# Linq distinct不會(huì)調(diào)用Equals方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-12-12C#?form-data上傳圖片流到遠(yuǎn)程服務(wù)器的詳細(xì)代碼
這篇文章主要介紹了C#?form-data上傳圖片流到遠(yuǎn)程服務(wù)器的詳細(xì)代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08Unity報(bào)錯(cuò)InvalidOperationException: out of sync的解決
今天在做個(gè)東西,發(fā)現(xiàn)報(bào)錯(cuò),特此來(lái)記錄一下,本文介紹了Unity報(bào)錯(cuò)InvalidOperationException: out of sync的解決,感興趣的可以了解一下2021-05-05