是否有任何内置的方式要求块传递给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. 如何在一个语句中需要多个模块?
- 2. Ruby需要模块,库
- 3. 在Ruby/Rails中需要
- 4. Codeigniter需要从一个模块连接到另一个模块
- 5. 在共享服务器环境中需要一个ruby gem(eventmachine)
- 6. 需要一个jQuery的评级滑块
- 7. 为什么try块需要一个catch
- 8. require.js需要一个模块index.js
- 9. 为什么在Rails中应该明确需要一些Ruby常量(类,模块)?
- 10. 如何编写一个在ruby中返回字符串的块
- 11. 您是否需要在GCD块中创建一个NSAutoreleasePool?
- 12. Drupal:我需要在一个块中显示用户名
- 13. 你需要一个用ruby创建一个基本框架?
- 14. || =操作不使用需要在Ruby中
- 15. Ruby需要路径
- 16. Ruby需要和self.require
- 17. 需要知道如何在ruby中处理散列键
- 18. 在Ruby中,我在块内捕获一些MatchData,但我需要块外的数据
- 19. 需要帮助了解我的Ruby方法中的.sort_by块
- 20. 如何在CouchDB中需要一个数组中的字段?
- 21. Ruby:类接受一个块?
- 22. 需要一个模块文件并与其模块交互?
- 23. 红宝石方法,需要一个块,并调用该块
- 24. 如何根据需要加载模块?
- 25. 我需要在完成块
- 26. 如何需要点击一个按钮
- 27. 如何“需要”一个.yml文件?
- 28. 需要一个“有” jQuery中
- 29. 需要解释一些Ruby语法
- 30. 如何在Ruby中使用与块
嗯,这是太简单了:)谢谢! – 2010-02-22 05:18:42