Ruby中數(shù)組的一些相關(guān)使用方法
Ruby數(shù)組是有序的,任何對(duì)象的??整數(shù)索引的集合。每個(gè)數(shù)組中的元素相關(guān)聯(lián),并提到的一個(gè)索引。
數(shù)組下標(biāo)從0開(kāi)始,如C或Java。負(fù)數(shù)索引假設(shè)數(shù)組末尾---也就是說(shuō),-1表示最后一個(gè)元素的數(shù)組索引,-2是數(shù)組中最后一個(gè)元素的下一個(gè)元素等等。
Ruby的數(shù)組可以容納對(duì)象,如字符串,整數(shù),長(zhǎng)整數(shù),哈希,符號(hào),甚至其他Array對(duì)象。Ruby數(shù)組沒(méi)有在其他語(yǔ)言中數(shù)組一樣嚴(yán)格。Ruby數(shù)組自動(dòng)增長(zhǎng)同時(shí)增加元素。
創(chuàng)建數(shù)組:
有許多方法來(lái)創(chuàng)建或初始化一個(gè)數(shù)組。一種方式是 new 類(lèi)方法:
names = Array.new
可以設(shè)置一個(gè)數(shù)組的大小,在數(shù)組創(chuàng)建的時(shí)候:
names = Array.new(20)
數(shù)組 names 現(xiàn)在有20個(gè)元素的大小或長(zhǎng)度。您可以返回一個(gè)數(shù)組的大小尺寸或長(zhǎng)度的方法:
#!/usr/bin/ruby names = Array.new(20) puts names.size # This returns 20 puts names.length # This also returns 20
這將產(chǎn)生以下結(jié)果:
20 20
可以指定一個(gè)值數(shù)組中的每個(gè)元素如下:
#!/usr/bin/ruby
names = Array.new(4, "mac")
puts "#{names}"
這將產(chǎn)生以下結(jié)果:
macmacmacmac
還可以使用用new塊,塊會(huì)計(jì)算填充每個(gè)元素:
#!/usr/bin/ruby
nums = Array.new(10) { |e| e = e * 2 }
puts "#{nums}"
這將產(chǎn)生以下結(jié)果:
024681012141618
還有另一種方法,數(shù)組,[]。它的工作原理是這樣的:
nums = Array.[](1, 2, 3, 4,5)
另一種形式的數(shù)組創(chuàng)建如下:
nums = Array[1, 2, 3, 4,5]
內(nèi)核模塊Ruby的核心,有一個(gè)數(shù)組的方法,只接受一個(gè)參數(shù)。這里的方法范圍內(nèi)創(chuàng)建一個(gè)數(shù)組的數(shù)字作為參數(shù):
#!/usr/bin/ruby
digits = Array(0..9)
puts "#{digits}"
這將產(chǎn)生以下結(jié)果:
0123456789
數(shù)組內(nèi)置的方法:
我們需要有Array對(duì)象調(diào)用數(shù)組方法的一個(gè)實(shí)例。正如我們所看到的,下面是Array對(duì)象的方式來(lái)創(chuàng)建一個(gè)實(shí)例:
Array.[](...) [or] Array[...] [or] [...]
這將返回一個(gè)新數(shù)組填充給定的對(duì)象?,F(xiàn)在使用創(chuàng)建的對(duì)象,我們可以調(diào)用任何可用實(shí)例方法。例如:
#!/usr/bin/ruby
digits = Array(0..9)
num = digits.at(6)
puts "#{num}"
這將產(chǎn)生以下結(jié)果:
6
例如:
試試下面的例子來(lái)收集各種數(shù)據(jù)。
a = [ "a", "b", "c" ]
n = [ 65, 66, 67 ]
puts a.pack("A3A3A3") #=> "a b c "
puts a.pack("a3a3a3") #=> "a\000\000b\000\000c\000\000"
puts n.pack("ccc") #=> "ABC"
這將產(chǎn)生以下結(jié)果:
a b c abc ABC
相關(guān)文章
舉例理解Ruby on Rails的頁(yè)面緩存機(jī)制
這篇文章主要介紹了舉例理解Ruby on Rails的頁(yè)面緩存機(jī)制,本文來(lái)自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04
Ruby使用設(shè)計(jì)模式中的代理模式與裝飾模式的代碼實(shí)例
這篇文章主要介紹了Ruby使用設(shè)計(jì)模式中的代理模式與裝飾模式的代碼實(shí)例,代理模式與裝飾模式都可以歸類(lèi)為結(jié)構(gòu)型的設(shè)計(jì)模式,需要的朋友可以參考下2016-03-03
Ruby實(shí)現(xiàn)的刪除已經(jīng)合并的git分支腳本分享
這篇文章主要介紹了Ruby實(shí)現(xiàn)的刪除已經(jīng)合并的git分支腳本分享,本文給出腳本代碼、使用方法和執(zhí)行結(jié)果,需要的朋友可以參考下2015-01-01
Ruby與Ruby on Rails框架環(huán)境搭建的簡(jiǎn)明教程
這篇文章主要介紹了Ruby與Ruby on Rails框架環(huán)境搭建的簡(jiǎn)明教程,包括RubyGems的升級(jí)與OpenSSL的支持等配置,需要的朋友可以參考下2016-05-05
在 Ubuntu 12.04 Server 上安裝部署 Ruby on Rails 應(yīng)用
本教程只適合 Ubuntu Server 用于部署項(xiàng)目到線(xiàn)上,建議使用同樣的 Ubuntu 版本,以免遇到一些版本不同帶來(lái)的問(wèn)題2014-07-07

