如何在Ruby中需要一个块?

有没有内置的方法来要求将块传递给Ruby方法? 我意识到如果block_given?我可以提出exceptionblock_given? 是假的,但是有更好的方法吗?

只需使用yield

如果在方法中包含yield ,并且给出块,则会引发错误。

把它放在一个文件中并运行它:

 def needs_block yield end needs_block 

它会抛出这样的错误:

 LocalJumpError: no block given from (irb):14:in `needs_block' from (irb):16 
 raise 'need block' unless block_given?