2012-03-20 36 views
13

Tôi nghĩ rằng các khối giống như các chức năng ẩn danh. Tuy nhiên, khi tôi cố gắng kết thúc việc thực hiện một khối bằng cách sử dụng từ khóa 'return', tôi nghĩ nó đã kích hoạt một sự trở lại trong phạm vi mà block được định nghĩa. Đó có phải là cách chúng hoạt động không? Không.Làm thế nào để kết thúc thực hiện một khối trong Ruby?

Nếu có, làm cách nào để kết thúc việc thực hiện một khối, theo cách không kích hoạt trả về trong phạm vi bên ngoài?

+5

Đã được hỏi và trả lời: http://stackoverflow.com/questions/1402757/how-to-break-out-from-a-ruby-block – mguymon

Trả lời

21

Từ khóa là 'tiếp theo', không phải 'ngắt'. Phá vỡ có vẻ là cụ thể cho phương pháp 'mỗi'.

0

Để thoát khỏi khối hoặc vòng lặp, hãy sử dụng từ khóa break.

return sẽ thoát phương thức.

+11

ngắt khỏi proc-closure (LocalJumpError) – HappyDeveloper

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