是否有任何內置的方式要求塊傳遞給Ruby方法?我知道如果block_given?
是錯誤的,我可以舉一個例外,但有沒有更好的方法可以做到這一點?如何在Ruby中需要一個塊?
18
A
回答
22
只需使用yield
即可。
如果在方法中包含yield
,並且給定的塊爲而不是,則會引發錯誤。
在一個文件將這個並運行它:
def needs_block
yield
end
needs_block
它會拋出這樣的錯誤:
LocalJumpError: no block given
from (irb):14:in `needs_block'
from (irb):16
9
raise 'need block' unless block_given?
+1
這是最好的答案,因爲它沒有副作用(即調用塊)。 – 2016-07-07 10:03:11
相關問題
- 1. 你什麼時候需要在Ruby中需要一個模塊?
- 2. Ruby需要模塊,庫
- 3. 如何在一個語句中需要多個模塊?
- 4. 如何在ruby中需要一個文件?
- 5. 如何從另一個目錄需要一個ruby文件
- 6. 如何在Webpack中需要另一個模塊中的預編譯模塊?
- 7. 如何在Ruby中將塊傳遞給另一個塊?
- 8. 如何在ruby中爲一個模塊覆蓋一個類?
- 9. 在Ruby/Rails中需要
- 10. 「需要」管理在Ruby中
- 11. 在Ruby中,整個目錄樹是如何「需要」的?
- 12. Ruby Koans類或模塊需要
- 13. 只要在Ruby中的單個類的上下文中需要一個寶石
- 14. Codeigniter需要從一個模塊連接到另一個模塊
- 15. 在Rails控制檯和控制器中需要Ruby模塊
- 16. 在共享服務器環境中需要一個ruby gem(eventmachine)
- 17. 爲什麼try塊需要一個catch
- 18. require.js需要一個模塊index.js
- 19. 需要一個jQuery的評級滑塊
- 20. 它需要一個try catch塊
- 21. 有條件的需要一個模塊
- 22. 我需要一個img垂直居中在一個div,如何?
- 23. 在rails 3和ruby 1.9.2中需要ruby模塊的正確位置是什麼?
- 24. Ruby:如何從一個完全獨立的文件樹需要一個文件
- 25. 爲什麼在Rails中應該明確需要一些Ruby常量(類,模塊)?
- 26. 如何編寫一個在ruby中返回字符串的塊
- 27. 如何在ruby中初始化一個模塊類?
- 28. 需要一個在jade中的外部模塊node.js webserver
- 29. 您是否需要在GCD塊中創建一個NSAutoreleasePool?
- 30. Drupal:我需要在一個塊中顯示用戶名
嗯,這是太簡單了:)謝謝! – 2010-02-22 05:18:42