本文簡要介紹ruby語言中  Array.slice  的用法。
用法
slice(index) → object or nilslice(start, length) → object or nilslice(range) → object or nilslice(aseq) → object or nil從 self 返回元素;不修改 self 。
當給定單個整數參數 index 時,返回偏移量 index 處的元素:
a = [:foo, 'bar', 2]
a[0] # => :foo
a[2] # => 2
a # => [:foo, "bar", 2]如果 index 為負數,則相對於 self 的末尾計數:
a = [:foo, 'bar', 2]
a[-1] # => 2
a[-2] # => "bar"如果 index 超出範圍,則返回 nil 。
當給定兩個整數參數 start 和 length 時,返回一個大小為 length 的新數組,其中包含從偏移量 start 開始的連續元素:
a = [:foo, 'bar', 2]
a[0, 2] # => [:foo, "bar"]
a[1, 2] # => ["bar", 2]如果 start + length 大於 self.length ,則返回從偏移量 start 到末尾的所有元素:
a = [:foo, 'bar', 2]
a[0, 4] # => [:foo, "bar", 2]
a[1, 3] # => ["bar", 2]
a[2, 2] # => [2]如果 start == self.size 和 length >= 0 ,返回一個新的空數組。
如果 length 為負數,則返回 nil 。
當給出單個 Range 參數 range 時,將 range.min 視為上麵的 start,將 range.size 視為上麵的 length:
a = [:foo, 'bar', 2]
a[0..1] # => [:foo, "bar"]
a[1..2] # => ["bar", 2]特殊情況:如果 range.start == a.size ,則返回一個新的空數組。
如果range.end 為負數,則從末尾計算結束索引:
a = [:foo, 'bar', 2]
a[0..-1] # => [:foo, "bar", 2]
a[0..-2] # => [:foo, "bar"]
a[0..-3] # => [:foo]如果range.start 為負數,則從末尾計算起始索引:
a = [:foo, 'bar', 2]
a[-1..2] # => [2]
a[-2..2] # => ["bar", 2]
a[-3..2] # => [:foo, "bar", 2]如果 range.start 大於數組大小,則返回 nil 。
a = [:foo, 'bar', 2]
a[4..1] # => nil
a[4..0] # => nil
a[4..-1] # => nil當給定單個  Enumerator::ArithmeticSequence  參數 aseq 時,返回與序列生成的索引相對應的元素的  Array 。
a = ['--', 'data1', '--', 'data2', '--', 'data3']
a[(1..).step(2)] # => ["data1", "data2", "data3"]與範圍切片不同,如果算術序列的開始或結束大於數組大小,則拋出  RangeError  。
a = ['--', 'data1', '--', 'data2', '--', 'data3']
a[(1..11).step(2)]
# RangeError (((1..11).step(2)) out of range)
a[(7..).step(2)]
# RangeError (((7..).step(2)) out of range)如果給定一個參數,並且其類型不是列出的類型之一,則嘗試將其轉換為  Integer  ,如果不可能,則引發:
a = [:foo, 'bar', 2]
# Raises TypeError (no implicit conversion of Symbol into Integer):
a[:foo] Array#slice  是  Array#[]  的別名。
相關用法
- Ruby Array.slice!用法及代碼示例
- Ruby Array.slice()用法及代碼示例
- Ruby Array.sort用法及代碼示例
- Ruby Array.shuffle!用法及代碼示例
- Ruby Array.sort_by用法及代碼示例
- Ruby Array.sample()用法及代碼示例
- Ruby Array.select!用法及代碼示例
- Ruby Array.sort_by!用法及代碼示例
- Ruby Array.sort!用法及代碼示例
- Ruby Array.sum用法及代碼示例
- Ruby Array.shift用法及代碼示例
- Ruby Array.sample用法及代碼示例
- Ruby Array.shuffle用法及代碼示例
- Ruby Array.select用法及代碼示例
- Ruby Array.push用法及代碼示例
- Ruby Array.hash用法及代碼示例
- Ruby Array.to_a用法及代碼示例
- Ruby Array.to_h用法及代碼示例
- Ruby Array.to_s用法及代碼示例
- Ruby Array.array + other_array用法及代碼示例
- Ruby Array.take()用法及代碼示例
- Ruby Array.reject!用法及代碼示例
- Ruby Array.flatten!用法及代碼示例
- Ruby Array.reject用法及代碼示例
- Ruby Array.repeated_permutation()用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Array.slice。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
