陣列是一種基本的資料結構,在Ruby的陣列能夠容納各種型別的物件。
所以不管你是要放字串、數字、雜湊還是布林值都是可以的
arr = [‘你好’, 123, {}, true]
陣列與字串一樣,能夠串接與重複
> arr = [1,2,3]
> arr + [1,2,3] + [“hello”]
#=> [1, 2, 3, 1, 2, 3, "hello"]
先來學學怎麼建立陣列,其實非常簡單!
我們可以使用Array.new
又或著[]
> Array.new #=> []
> Array.new(5) #=> [nil, nil, ni, nil, nill]
> Array.new(5,’cat’) #=> [“cat", "cat", "cat", "cat", "cat”]
> arr = [] #=> []
> arr = [1,2,3] #=> [1,2,3]
首先要先認識陣列元素中的位置
以 arr = [1,2,3,4,5]
為例,依照元素順序的位置號碼是 0,1,2,3,4
> arr = [1,2,3,4,5]
> arr[0] # 1
> arr[1] # 2
> arr[-1] # 5 取倒數第 1 位置的元素
更多操作
> arr = [1,2,3,4,5]
> arr[1,2] # [2, 3] 從位置 1 開始,依序取 2 個元素
> arr[0..4] # [1, 2, 3, 4] 取第 0 到第 4 位置的元素
> arr[-2,2] # [4, 5] 倒數第 2 個位置取開始,依序取 2 個元素
> arr[-2..-1] # [4, 5] 取倒數第 2 到倒數第 1 位置的元素
也可以替換或是符號<<
塞元素進去
> arr = [1,2,3,4,5]
> arr[0] = “Hi” # [Hi,2,3,4,5] 把第 1 個元素改成字串 Hi
> arr << 100 # [Hi,2,3,4,5,100] 新增元素進去,會從最後面開始增加
合併+ v.s. 差異-
> arr1 = [1,2,3]
> arr2 = [4,5,6]
> arr1 + arr2 # [1,2,3,4,5,6]
> arr1 = [1,2,3,4,5,6]
> arr2 = [4,5,6]
> arr1 - arr2 # [1,2,3]
陣列得方法很多,也沒辦法一次說完,就簡單拿幾個常見的方法
arr = []
[*1..10].each do |num|
arr << num if num.even?
end
p arr # [2, 4, 6, 8, 10]
p [1,2,3,4,5].select { |num| num.odd? } # [1, 3, 5]
p [1,2,3,4,5].map { |num| num + 2 } # [3, 4, 5, 6, 7]
p [1,2,3,4,5].reduce(0) { |sum, n| sum + n } # 15
p [1,2,3,4,5].sample(3) # [1,2,5] 隨機取 3 個值
p [1,1,2,2,2,2,3,3,3,3,3,3].count(3) # 6
[].empty? # true
大概是這樣吧!方法實在太多,如果想要了解更多可以看文件喔!
參考連結:
小鳥的隨身【Ruby 學習筆記 — 05】陣列(Array)
為你自己學 Ruby on Rails
最近天氣轉涼
請各位叔叔阿姨大哥大姐帥哥美女大小朋友們注意身體
不要像我這隻菜鳥一樣感冒了QQ
先睡覺,各位晚安