在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Ruby/ Ruby數(shù)組
Ruby for循環(huán)
Ruby教程
Ruby文件I/O
Ruby迭代器
Ruby哈希
Ruby日期時(shí)間
Ruby類和對(duì)象
Ruby快速入門(30分鐘)
Ruby redo/retry語(yǔ)句
Ruby模塊
Ruby解析XML(REXML)
Ruby if-else語(yǔ)句
Ruby的功能特點(diǎn)
Ruby break/next語(yǔ)句
Ruby方法
Ruby是什么?
Ruby與Python比較
Ruby Case語(yǔ)句
Ruby目錄
Ruby范圍
Ruby異常
Ruby套接字編程(Socket)
Ruby字符串
Ruby安裝配置
Ruby運(yùn)算符
Ruby while/do...while循環(huán)語(yǔ)句
Ruby第一個(gè)HelloWorld程序
Ruby until循環(huán)語(yǔ)句
Ruby注釋
Ruby塊
Ruby數(shù)據(jù)類型
Ruby面向?qū)ο?/span>
Ruby正則表達(dá)式
Ruby數(shù)組
Ruby變量
Ruby多線程編程

Ruby數(shù)組

Ruby數(shù)組是對(duì)象的有序集合。 它們可以保存像整數(shù),數(shù)字,散列,字符串,符號(hào)或任何其他數(shù)組的對(duì)象。

其索引開(kāi)始于0。負(fù)數(shù)索引是從數(shù)組末尾的-1位置開(kāi)始。 例如,-1表示數(shù)組的最后一個(gè)元素,0表示數(shù)組的第一個(gè)元素。

創(chuàng)建Ruby數(shù)組

Ruby數(shù)組以許多方式創(chuàng)建。

  • 使用文字構(gòu)造函數(shù) []
  • 使用類的new方法

使用文字構(gòu)造[]

使用文字構(gòu)造函數(shù)[]構(gòu)建Ruby數(shù)組。 單個(gè)數(shù)組可以包含不同類型的對(duì)象。

例如,以下數(shù)組包含一個(gè)整數(shù),浮點(diǎn)數(shù)和一個(gè)字符串。

#!/usr/bin/ruby   

arr = [4, 4.0, "maxsu", ]   
puts arr

執(zhí)行上面代碼,得到以下輸出結(jié)果 -

F:\worksp\ruby>ruby array-contruct.rb
4
4.0
maxsu

F:\worksp\ruby>

使用類的new方法

通過(guò)使用零個(gè),一個(gè)或多個(gè)參數(shù)調(diào)用::new方法來(lái)構(gòu)造一個(gè)Ruby數(shù)組。

語(yǔ)法:

arrayName = Array.new

設(shè)置數(shù)組的大小,如下語(yǔ)法 -

語(yǔ)法:

arrayName = Array.new(10)

在這里,要?jiǎng)?chuàng)建的數(shù)組大小是10個(gè)元素。

要知道數(shù)組的大小,使用 sizelength 方法。

示例:

#!/usr/bin/ruby   

exm = Array.new(10)   
puts exm.size    
puts exm.length

執(zhí)行上面代碼,輸出結(jié)果如下 -

F:\worksp\ruby>ruby array-size.rb
10
10

F:\worksp\ruby>

示例2

#!/usr/bin/ruby   
exm = Array("a"..."z")   
puts "#{exm}"

執(zhí)行上面代碼得到以下結(jié)果 -

F:\worksp\ruby>ruby array-a2z.rb
["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y"]

F:\worksp\ruby>

訪問(wèn)數(shù)組元素

可以使用#[]方法訪問(wèn)Ruby數(shù)組中的元素。也可以傳遞一個(gè)或多個(gè)參數(shù),甚至傳遞一系列參數(shù)。

#[] method

示例

#!/usr/bin/ruby   
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]   
puts days[0]      
puts days[10]   
puts days[-2]     
puts days[2, 3]   
puts days[1..7]

執(zhí)行上面代碼,得到輸出結(jié)果如下 -

F:\worksp\ruby>ruby array-elements.rb
Mon

Sat
Wed
Thu
Fri
Tue
Wed
Thu
Fri
Sat
Sun

F:\worksp\ruby>

at方法

要訪問(wèn)特定的元素,也可以使用at方法。

示例:

#!/usr/bin/ruby   
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]   
puts days.at(0)   
puts days.at(-1)   
puts days.at(5)

執(zhí)行上面代碼,得到輸出結(jié)果如下 -

F:\worksp\ruby>ruby array-at.rb
Mon
Sun
Sat

F:\worksp\ruby>

slice方法

slice方法類似于#[]方法。

fetch方法

fetch方法用于為數(shù)組范圍索引提供默認(rèn)的錯(cuò)誤值。

示例:

#!/usr/bin/ruby 
# file : array-fetch.rb
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]   
puts days.fetch(10)

執(zhí)行上面代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby array-fetch.rb
array-fetch.rb:4:in `fetch': index 10 outside of array bounds: -7...7 (IndexError)
        from array-fetch.rb:4:in `<main>'

F:\worksp\ruby>

修改上面示例代碼,在未找到元素時(shí)返回一個(gè)默認(rèn)的值 -

#!/usr/bin/ruby 
# file : array-fetch-df.rb
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]   
puts days.fetch(10, 'NotFound')

執(zhí)行上面代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby array-fetch-df.rb
NotFound

F:\worksp\ruby>

first 和 last 方法

firstlast 方法方法將分別返回?cái)?shù)組的第一個(gè)和最后一個(gè)元素。

示例:

#!/usr/bin/ruby 
# file : array-first-last.rb
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]   
puts days.first   
puts days.last

執(zhí)行上面代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby array-first-last.rb
Mon
Sun

F:\worksp\ruby>

take 方法

take方法返回?cái)?shù)組的前n個(gè)元素。

示例:

#!/usr/bin/ruby 
# file : array-take.rb
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]   
puts days.take(1)   
puts days.take(2)   
puts days.take(3)

執(zhí)行上面代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby array-take.rb
Mon
Mon
Tue
Mon
Tue
Wed

F:\worksp\ruby>

drop方法

drop方法與take方法相反。 它返回在第n個(gè)元素之后的所有元素。

示例:

#!/usr/bin/ruby 
# file : array-drop.rb
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]   
puts days.drop(5)   
puts days.drop(6)

執(zhí)行上面代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby array-drop.rb
Sat
Sun
Sun

F:\worksp\ruby>

將元素項(xiàng)添加到數(shù)組

可以以不同的方式向Ruby數(shù)組添加元素。

  • push<<
  • unshift
  • insert

push 或 <<

使用push<<,可以在數(shù)組的末尾添加項(xiàng)目/元素。

示例:

#!/usr/bin/ruby 
# file : array-push.rb
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]  
puts days.push("Today")   
puts '-------------------------------'
puts days << ("Tomorrow")

執(zhí)行上面代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby array-push.rb
Mon
Tue
Wed
Thu
Fri
Sat
Sun
Today
-------------------------------
Mon
Tue
Wed
Thu
Fri
Sat
Sun
Today
Tomorrow

F:\worksp\ruby>

unshift方法

使用unshift,可以在數(shù)組的開(kāi)頭添加一個(gè)新元素。

示例:

#!/usr/bin/ruby 
# file : array-unshift.rb
days = ["Fri", "Sat", "Sun"]   
puts days.unshift("Today")

執(zhí)行上面代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby array-unshift.rb
Today
Fri
Sat
Sun

F:\worksp\ruby>

insert方法

使用insert,可以在數(shù)組中的任何位置添加一個(gè)新元素。 在這里,首先需要要定位元素的索引位置。

示例:

#!/usr/bin/ruby 
# file : array-insert.rb
days = ["Fri", "Sat", "Sun"]   
puts days.insert(2, "Thursday")

執(zhí)行上面代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby array-insert.rb
Fri
Sat
Thursday
Sun

F:\worksp\ruby>

從數(shù)組中刪除項(xiàng)/元素

可以使用以下幾種方式來(lái)刪除Ruby數(shù)組元素。

  • pop
  • shift
  • delete
  • uniq

pop方法

使用pop方法,可以從數(shù)組的末尾刪除項(xiàng)/元素。它返回刪除的數(shù)據(jù)項(xiàng)/元素。

示例:

#!/usr/bin/ruby 
# file : array-pop.rb
days = ["Fri", "Sat", "Sun"]   
puts days.pop

執(zhí)行上面代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby array-pop.rb
Sun

F:\worksp\ruby>

shift方法

使用shift,可以從數(shù)組的起始處刪除項(xiàng)/元素。 它返回刪除的項(xiàng)目/元素。

示例:

#!/usr/bin/ruby 
# file : array-shift.rb
days = ["Fri", "Sat", "Sun"]   
puts days.shift

執(zhí)行上面代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby array-shift.rb
Fri

F:\worksp\ruby>

delete方法

使用delete方法,可以從數(shù)組中的任意位置刪除項(xiàng)(元素)。 它返回刪除的項(xiàng)目(元素)。

示例:

#!/usr/bin/ruby 
# file : array-delete.rb
days = ["Fri", "Sat", "Sun"]   
puts days.delete("Sat")

執(zhí)行上面代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby array-delete.rb
Sat

F:\worksp\ruby>

uniq方法

使用uniq方法,可以從數(shù)組中刪除重復(fù)的元素。它返回刪除重復(fù)元素后剩余的數(shù)組。

示例:

#!/usr/bin/ruby 
# file : array-uniq.rb
days = ["Fri", "Sat", "Sun", "Sat"]   
puts days.uniq

執(zhí)行上面代碼,得到以下結(jié)果 -

F:\worksp\ruby>ruby array-uniq.rb
Fri
Sat
Sun

F:\worksp\ruby>