PATH:
opt
/
alt
/
ruby34
/
share
/
ri
/
system
/
Array
U:RDoc::AnyMethod[iI"[]:ETI" Array#[];TF:publico:RDoc::Markup::Document:@parts[4o:RDoc::Markup::Paragraph; [I":Returns elements from +self+; does not modify +self+.;To:RDoc::Markup::BlankLine o; ; [I"In brief:;T@o:RDoc::Markup::Verbatim; [I"a = [:foo, 'bar', 2] ;TI" ;TI"3# Single argument index: returns one element. ;TI"5a[0] # => :foo # Zero-based index. ;TI"Ma[-1] # => 2 # Negative index counts backwards from end. ;TI" ;TI"5# Arguments start and length: returns an array. ;TI"a[1, 2] # => ["bar", 2] ;TI"Ma[-2, 2] # => ["bar", 2] # Negative start counts backwards from end. ;TI" ;TI"0# Single argument range: returns an array. ;TI"!a[0..1] # => [:foo, "bar"] ;TI"Sa[0..-2] # => [:foo, "bar"] # Negative range-begin counts backwards from end. ;TI"Qa[-2..2] # => ["bar", 2] # Negative range-end counts backwards from end. ;T:@format0o; ; [I"\When a single integer argument +index+ is given, returns the element at offset +index+:;T@o;; [ I"a = [:foo, 'bar', 2] ;TI"a[0] # => :foo ;TI"a[2] # => 2 ;TI"a # => [:foo, "bar", 2] ;T; 0o; ; [I"EIf +index+ is negative, counts backwards from the end of +self+:;T@o;; [I"a = [:foo, 'bar', 2] ;TI"a[-1] # => 2 ;TI"a[-2] # => "bar" ;T; 0o; ; [I"/If +index+ is out of range, returns +nil+.;T@o; ; [I"@When two Integer arguments +start+ and +length+ are given, ;TI"greturns a new +Array+ of size +length+ containing successive elements beginning at offset +start+:;T@o;; [I"a = [:foo, 'bar', 2] ;TI" a[0, 2] # => [:foo, "bar"] ;TI"a[1, 2] # => ["bar", 2] ;T; 0o; ; [I"FIf <tt>start + length</tt> is greater than <tt>self.length</tt>, ;TI"9returns all elements from offset +start+ to the end:;T@o;; [ I"a = [:foo, 'bar', 2] ;TI"#a[0, 4] # => [:foo, "bar", 2] ;TI"a[1, 3] # => ["bar", 2] ;TI"a[2, 2] # => [2] ;T; 0o; ; [I">If <tt>start == self.size</tt> and <tt>length >= 0</tt>, ;TI"!returns a new empty +Array+.;T@o; ; [I",If +length+ is negative, returns +nil+.;T@o; ; [I"4When a single Range argument +range+ is given, ;TI"0treats <tt>range.min</tt> as +start+ above ;TI"/and <tt>range.size</tt> as +length+ above:;T@o;; [I"a = [:foo, 'bar', 2] ;TI" a[0..1] # => [:foo, "bar"] ;TI"a[1..2] # => ["bar", 2] ;T; 0o; ; [I"RSpecial case: If <tt>range.start == a.size</tt>, returns a new empty +Array+.;T@o; ; [I"NIf <tt>range.end</tt> is negative, calculates the end index from the end:;T@o;; [ I"a = [:foo, 'bar', 2] ;TI"$a[0..-1] # => [:foo, "bar", 2] ;TI"!a[0..-2] # => [:foo, "bar"] ;TI"a[0..-3] # => [:foo] ;T; 0o; ; [I"RIf <tt>range.start</tt> is negative, calculates the start index from the end:;T@o;; [ I"a = [:foo, 'bar', 2] ;TI"a[-1..2] # => [2] ;TI"a[-2..2] # => ["bar", 2] ;TI"$a[-3..2] # => [:foo, "bar", 2] ;T; 0o; ; [I"JIf <tt>range.start</tt> is larger than the array size, returns +nil+.;T@o;; [ I"a = [:foo, 'bar', 2] ;TI"a[4..1] # => nil ;TI"a[4..0] # => nil ;TI"a[4..-1] # => nil ;T; 0o; ; [I"LWhen a single Enumerator::ArithmeticSequence argument +aseq+ is given, ;TI"Mreturns an +Array+ of elements corresponding to the indexes produced by ;TI"the sequence.;T@o;; [I"7a = ['--', 'data1', '--', 'data2', '--', 'data3'] ;TI"7a[(1..).step(2)] # => ["data1", "data2", "data3"] ;T; 0o; ; [I"SUnlike slicing with range, if the start or the end of the arithmetic sequence ;TI"2is larger than array size, throws RangeError.;T@o;; [ I"7a = ['--', 'data1', '--', 'data2', '--', 'data3'] ;TI"a[(1..11).step(2)] ;TI"3# RangeError (((1..11).step(2)) out of range) ;TI"a[(7..).step(2)] ;TI"1# RangeError (((7..).step(2)) out of range) ;T; 0o; ; [I"QIf given a single argument, and its type is not one of the listed, tries to ;TI";convert it to Integer, and raises if it is impossible:;T@o;; [I"a = [:foo, 'bar', 2] ;TI"I# Raises TypeError (no implicit conversion of Symbol into Integer): ;TI" a[:foo] ;T; 0o; ; [I"NRelated: see {Methods for Fetching}[rdoc-ref:Array@Methods+for+Fetching].;T: @fileI"array.c;T:0@omit_headings_from_table_of_contents_below0I"�self[index] -> object or nil self[start, length] -> object or nil self[range] -> object or nil self[aseq] -> object or nil slice(index) -> object or nil slice(start, length) -> object or nil slice(range) -> object or nil slice(aseq) -> object or nil ;T0[[I" slice;T@ I"(*args);T@�FI" Array;TcRDoc::NormalClass00
[+]
..
[-] assoc-i.ri
[edit]
[-] %2d-i.ri
[edit]
[-] bsearch_index-i.ri
[edit]
[-] collect-i.ri
[edit]
[-] last-i.ri
[edit]
[-] include%3f-i.ri
[edit]
[-] count-i.ri
[edit]
[-] size-i.ri
[edit]
[-] bsearch-i.ri
[edit]
[-] %7c-i.ri
[edit]
[-] all%3f-i.ri
[edit]
[-] try_convert-c.ri
[edit]
[-] %3c%3c-i.ri
[edit]
[-] to_s-i.ri
[edit]
[-] delete-i.ri
[edit]
[-] flatten%21-i.ri
[edit]
[-] max-i.ri
[edit]
[-] uniq%21-i.ri
[edit]
[-] %2a-i.ri
[edit]
[-] push-i.ri
[edit]
[-] pop-i.ri
[edit]
[-] transpose-i.ri
[edit]
[-] initialize_copy-i.ri
[edit]
[-] first-i.ri
[edit]
[-] any%3f-i.ri
[edit]
[-] %3c%3d%3e-i.ri
[edit]
[-] %5b%5d%3d-i.ri
[edit]
[-] prepend-i.ri
[edit]
[-] reverse_each-i.ri
[edit]
[-] collect%21-i.ri
[edit]
[-] each_index-i.ri
[edit]
[-] sort-i.ri
[edit]
[-] shuffle-i.ri
[edit]
[-] to_a-i.ri
[edit]
[-] union-i.ri
[edit]
[-] flatten-i.ri
[edit]
[-] %26-i.ri
[edit]
[-] filter-i.ri
[edit]
[-] shelljoin-i.ri
[edit]
[-] new-c.ri
[edit]
[-] reject%21-i.ri
[edit]
[-] reverse%21-i.ri
[edit]
[-] minmax-i.ri
[edit]
[-] difference-i.ri
[edit]
[-] sample-i.ri
[edit]
[-] fetch_values-i.ri
[edit]
[-] fill-i.ri
[edit]
[-] reverse-i.ri
[edit]
[-] find_index-i.ri
[edit]
[-] rotate-i.ri
[edit]
[-] fetch-i.ri
[edit]
[-] sum-i.ri
[edit]
[-] join-i.ri
[edit]
[-] min-i.ri
[edit]
[-] to_h-i.ri
[edit]
[-] to_ary-i.ri
[edit]
[-] take_while-i.ri
[edit]
[-] repeated_permutation-i.ri
[edit]
[-] hash-i.ri
[edit]
[-] one%3f-i.ri
[edit]
[-] values_at-i.ri
[edit]
[-] uniq-i.ri
[edit]
[-] product-i.ri
[edit]
[-] each-i.ri
[edit]
[-] permutation-i.ri
[edit]
[-] eql%3f-i.ri
[edit]
[-] intersect%3f-i.ri
[edit]
[-] slice-i.ri
[edit]
[-] append-i.ri
[edit]
[-] sort%21-i.ri
[edit]
[-] empty%3f-i.ri
[edit]
[-] slice%21-i.ri
[edit]
[-] keep_if-i.ri
[edit]
[-] map-i.ri
[edit]
[-] intersection-i.ri
[edit]
[-] repeated_combination-i.ri
[edit]
[-] sort_by%21-i.ri
[edit]
[-] combination-i.ri
[edit]
[-] insert-i.ri
[edit]
[-] map%21-i.ri
[edit]
[-] zip-i.ri
[edit]
[-] drop-i.ri
[edit]
[-] %5b%5d-i.ri
[edit]
[-] shuffle%21-i.ri
[edit]
[-] at-i.ri
[edit]
[-] reject-i.ri
[edit]
[-] shift-i.ri
[edit]
[-] filter%21-i.ri
[edit]
[-] compact-i.ri
[edit]
[-] rassoc-i.ri
[edit]
[-] freeze-i.ri
[edit]
[-] %2b-i.ri
[edit]
[-] drop_while-i.ri
[edit]
[-] take-i.ri
[edit]
[-] dig-i.ri
[edit]
[-] select-i.ri
[edit]
[-] cdesc-Array.ri
[edit]
[-] cycle-i.ri
[edit]
[-] %3d%3d-i.ri
[edit]
[-] rotate%21-i.ri
[edit]
[-] index-i.ri
[edit]
[-] rindex-i.ri
[edit]
[-] pack-i.ri
[edit]
[-] inspect-i.ri
[edit]
[-] select%21-i.ri
[edit]
[-] replace-i.ri
[edit]
[-] %5b%5d-c.ri
[edit]
[-] none%3f-i.ri
[edit]
[-] clear-i.ri
[edit]
[-] length-i.ri
[edit]
[-] concat-i.ri
[edit]
[-] unshift-i.ri
[edit]
[-] delete_at-i.ri
[edit]
[-] delete_if-i.ri
[edit]
[-] compact%21-i.ri
[edit]