2010-02-22 58 views

Trả lời

22

Chỉ cần sử dụng yield.

Nếu bạn bao gồm yield trong một phương thức và một khối là không phải được cung cấp, nó sẽ phát ra lỗi.

Đặt điều này trong một tập tin và chạy nó:

def needs_block 
    yield 
end 

needs_block 

Nó sẽ ném ra một lỗi như thế này:

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

Vâng đó là cách quá dễ dàng :) Cảm ơn! –

9
raise 'need block' unless block_given? 
+1

Đây là câu trả lời hay nhất, vì nó không có tác dụng phụ (tức là gọi khối). –

Các vấn đề liên quan