Skip to Content
Learn
Blocks, Procs, and Lambdas
Now You Try!

Great work! You’ve written your own lambda and seen how to pass it to a method. Now it’s time for you to write a lambda and pass it to a method!

If you think this will be a lot like what you’ve already done with procs, you’re exactly right. Just like with procs, we’ll need to put & at the beginning of our lambda name when we pass it to the method, since this will convert the lambda into the block the method expects.

That symbolize lambda was pretty cool. Let’s riff on it with a lambda that checks to see if each element in an array is a symbol. We can do this checking with the .is_a? method, which returns true if an object is the type of object named and false otherwise:

:hello.is_a? Symbol # ==> true

The word Symbol has to be capitalized when you’re doing an .is_a? check!

Instructions

1.

Create a lambda, symbol_filter, that takes one parameter and checks to see if that parameter .is_a? Symbol.

Create a new variable called symbols, and store the result of calling my_array.select and passing it your lambda.

puts symbols at the end of the file in order to see the final contents of the array.

Folder Icon

Take this course for free

Already have an account?