3 ms·
Just parameters that are functions, except that you can only have one per function. I still fail to see the advantage of blocks over being able to pass function
by avandecreme 8y ago
Just parameters that are functions, except that you can only have one per function.
I still fail to see the advantage of blocks over being able to pass functions as arguments like in other languages.
- kbp 8y agoOne nice feature of blocks is that `return` will return from the enclosing function, rather than the block, so you can write: def find(x, l) l.each do |y| return y if y == x end end Where in Lisp you'd use (return-from find x) and in other languages you might pass in a continuation or use a special return value protocol. It's a nice solution for higher order functions that are supposed to feel more language-level. Also, you can pass functions as arguments like in other languages; lambdas behave like you would expect them to.