Ruby Ruby Blocks Working With Blocks Block Method Practice: Arrays

Ervis Lapi
Ervis Lapi
171 Points

block not working

something wrong here:

final = [] final << array.select {|item| item.length > 4 } p final

array_blocks.rb
array = ["Tree", "House"]
final = []
final << array.select {|item| item.length > 4 }
p final

1 Answer

AJ Tran
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
AJ Tran
Treehouse Teacher

Hi Ervis Lapi ,

I ran your code and this is the return value I got:

p final

#=> [["House"]]

The return value is a nested array because the return value of .select is an array.

You are "shoveling" the array returned by select into an empty array and that is why you finally have a nested array:

final = []
final << array.select {|item| item.length > 4 }

Try this instead:

final = array.select {|item| item.length > 4 }
p final

I hope this helps you! Stay safe and happy coding!