I’m working with a method that takes a block as an argument. I’m new to Ruby and Blocks, so I don’t quite understand how I would go about creating a Block and passing it to the method. Can you please provide me an example of how you would create a block and pass it as an argument?
Update: Here is an example of the method that I am trying to call:
def exec!(commands, options=nil, &block)
# method code here
# eventually it will execute the block if one was passed
end
Here is how I am currently calling this method:
@result = ssh.exec!("cd /some/dir; ls")
How do I pass a block as the third argument to the exec! method?
It depends partially on how you want to use it. An easy way is this, if it fits your usage needs:
Or
The
{}notation is generally used when the block is short.You can also create a
Procor lambda; ultimately the “right” answer depends on what you’re trying to do.Note there’s an example if you’re talking about Net::SSH.