Ruby勉強

インターネットの企画職な人がプログラミングを勉強するブログ

Ruby 同じ意味のメソッド - Silver/Gold試験対策

findとdetectは同じ

a = [1, 5, 8, 15, 22, 23, 14]
p a.find {|i|
  i % 7 == 0
} #=> 14

b = [1, 3]
p b.find {|i|
  i % 7 == 0
} #=> nils

c = Proc.new {
  "7で割り切れる数は要素はありませんでした"
}
p b.detect(c){|i|
  i % 7 == 0
} #=> "7で割り切れる数は要素はありませんでした"

find_allとselectは同じ

a = []
100.times {a << rand(100)}
p a.find_all {|i| i % 7 == 0}
#=> 7で割り切れる要素だけの配列

b = [1, 2]
p b.select{|i| i % 7 == 0}
#=> []

mapとcollectは同じ

a = [1, 2, 3]
p a.map{|i| i * i}
#=> [1, 4, 9]
p a.collect{|i| Float(i)}
#=> [1.0, 2.0, 3.0]

Hashクラスでは include? member? has_key? key?は同じ