2017-01-22 10 views
1
element = [["BLUE", "CAT", "BEAR"], ["BALL", "CHAIR", "BOW"], ["CLOWN", "COLA", "PARROT", "LOVE"]] 

明らかに配列全体に10個の要素があります。配列を平坦化せずにカウントを見つけるにはどうすればよいですか?配列の配列要素数をカウントする

ルビー2.4
+0

? '[[" A "]、[" A "]]'は何を返すのですか? 2?または1? – mudasobwa

答えて

2
ary = [["BLUE", "CAT", "BEAR"], ["BALL", "CHAIR", "BOW"], ["CLOWN", "COLA", "PARROT", "LOVE"]] 

sum = ary.inject(0) { |tot, e| tot + e.size } 

=> 10 
7

、重複をカウントする必要がありますどのように

element.sum(&:size) #=> 10 
2
ary.map(&:count).inject(:+) 
#⇒ 10