multilinea - comentarios en ruby
¿Cómo exigir un bloque en rubí? (2)
¿Hay alguna forma incorporada para requerir que se pase un bloque a un método Ruby? Me doy cuenta de que solo puedo block_given?
una excepción si block_given?
es falso, pero ¿hay alguna manera mejor de hacerlo?
Simplemente utilizando el yield
.
Si incluye el yield
en un método y no se da un bloque, se produce un error.
Pon esto en un archivo y ejecútalo.
def needs_block
yield
end
needs_block
Se lanzará un error como este:
LocalJumpError: no block given
from (irb):14:in `needs_block''
from (irb):16
raise ''need block'' unless block_given?