2010-02-22 78 views

回答

22

只需使用yield即可。

如果在方法中包含yield,並且給定的塊爲而不是,則會引發錯誤。

在一個文件將這個並運行它:

def needs_block 
    yield 
end 

needs_block 

它會拋出這樣的錯誤:

LocalJumpError: no block given 
    from (irb):14:in `needs_block' 
    from (irb):16 
+1

嗯,這是太簡單了:)謝謝! – 2010-02-22 05:18:42

9
raise 'need block' unless block_given? 
+1

這是最好的答案,因爲它沒有副作用(即調用塊)。 – 2016-07-07 10:03:11

相關問題