0
0
Rubyprogramming~5 mins

Proc composition in Ruby - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What is a Proc in Ruby?
A Proc is an object that holds a block of code which can be stored in a variable and called later. It allows you to treat code as data.
Click to reveal answer
beginner
How do you create a Proc in Ruby?
You can create a Proc using Proc.new { |args| ... } or the shorthand proc { |args| ... }.
Click to reveal answer
intermediate
What does Proc composition mean?
Proc composition means combining two or more Procs so that the output of one becomes the input of another, creating a chain of operations.
Click to reveal answer
intermediate
How can you compose two Procs in Ruby?
You can compose two Procs by creating a new Proc that calls the second Proc and then passes its result to the first Proc.
Click to reveal answer
intermediate
Example: Compose Proc p1 = proc { |x| x + 2 } and p2 = proc { |x| x * 3 }. What is the result of calling the composition with 4?
The composition applies p1 first: 4 + 2 = 6, then p2: 6 * 3 = 18. So the result is 18.
Click to reveal answer
What is the main purpose of a Proc in Ruby?
ATo create a variable
BTo store a block of code for later use
CTo define a class
DTo handle exceptions
How do you call a Proc stored in variable p?
Aexecute(p)
Bcall(p)
Cp()
Dp.call()
In Proc composition, what happens to the output of the first Proc?
AIt becomes input to the next Proc
BIt is ignored
CIt is printed automatically
DIt resets the program
Given p1 = proc { |x| x * 2 } and p2 = proc { |x| x + 3 }, what is the result of composing p2 after p1 and calling with 5?
A10
B16
C13
D8
Which Ruby method is used to create a Proc?
AProc.new
Bdef
Clambda
Dclass
Explain what Proc composition is and how it works in Ruby.
Think about how you can connect small steps to make a bigger step.
You got /3 concepts.
    Write a simple Ruby example that composes two Procs and explain the result.
    Use simple math operations like addition and multiplication.
    You got /3 concepts.