2008年7月20日 星期日

array, some functions


a = [ "a", "b", "c" ]
a.index("b") #=> 1
a.index("z") #=> nil
a.index{|x|x=="b"} #=> 1
This is an alias of find_index.

a = [ 11, 22, 33, 44 ]
a.fetch(1) #=> 22
a.fetch(-1) #=> 44
a.fetch(4, 'cat') #=> "cat"
a.fetch(4) { |i| i*i } #=> 16

a = [ "q", "r", "s", "t" ]
a.first #=> "q"
a.first(1) #=> ["q"]
a.first(3) #=> ["q", "r", "s"]


ar = [:a, :b, :c]
>> ar.slice(0..-1)
=> [:a, :b, :c]
>> ar.slice(0..1)
=> [:a, :b]

[ "a", "b" ].concat( ["c", "d"] ) #=> [ "a", "b", "c", "d" ]

ary = [1, 2, 4, 2]
ary.count # => 4
ary.count(2) # => 2
ary.count{|x|x%2==0} # => 3


[ "a", "b", "c" ].join #=> "abc"
[ "a", "b", "c" ].join("-") #=> "a-b-c"

[ "w", "x", "y", "z" ].last #=> "z"

[ "a", "b", "c" ].reverse #=> ["c", "b", "a"]

a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
produces:
c b a

a = [ "d", "a", "e", "c", "b" ]
a.sort #=> ["a", "b", "c", "d", "e"]
a.sort {|x,y| y <=> x } #=> ["e", "d", "c", "b", "a"]

a = [ "a", "a", "b", "b", "c" ]
a.uniq #=> ["a", "b", "c"]

a.values_at(-1, -3, -5, -7)
a.values_at(1..3, 2...5)

沒有留言: