1
A
回答
2
Dispatcher = Hash.new do |k, h| h[k] = instance_method "do_#{k}" end
0
%w[d a v e].each_with_object({}) do |a, o|
o[a] = instance_method("do_#{a}")
end
0
Dispatcher = {}
self.instance_methods.grep(/do_*/).each do |method|
Dispatcher[method.to_s.sub "do_", ""] = instance_method(method)
end
它通过匹配“的do_”前缀,并把它添加到Dispatcher
哈希,所有实例方法迭代。
+0
未成年人,但你不需要'self'。 – 2014-10-06 17:43:31
相关问题
- 1. 返回的哈希值
- 2. Perl哈希返回值
- 3. 返回哈希
- 4. 哈希集没有返回唯一值
- 5. 从哈希中返回一个密钥?
- 6. Sha256返回不正确的哈希值?
- 7. 哈希码返回整数值
- 8. 返回哈希值作为整数
- 9. Ruby - 从哈希中返回特定值
- 10. Ruby哈希返回不正确的值
- 11. 如何让一个存根返回的哈希值
- 12. 在redis中返回一个哈希存储区的值
- 13. 将键/值对从一个哈希移动到另一个哈希
- 14. Perl - 返回哈希数组
- 15. 返回在哈希表中
- 16. 如何动态使用哈希值?
- 17. 我有一个方法来返回一个哈希映射,
- 18. 多个子哈希出一个哈希
- 19. 笨哈希值在回路
- 20. 如何将一个文件的哈希键与另一个哈希值的哈希值进行比较
- 21. Git:动态抓取哈希
- 22. Perl动态哈希遍历
- 23. 数组动态哈希
- 24. Javascript动态哈希创建
- 25. CoffeeScript的动态哈希键
- 26. 制作一个哈希与哈希
- 27. 多个返回与数组值和哈希
- 28. 通过哈希映射映射,需要返回哈希映射
- 29. Ruby 2.2哈希#拒绝返回哈希继承类?
- 30. 哈希散列:返回哈希与特定的子项
@sawa对不起,你已经删除了你的答案。 – pgblu 2014-10-06 17:10:00
我建议使用一种方法而不是散列:'class D; def dispatcher(m)send(“to _#{m}”)end; def to_a()将“hi”结束;结束; D.new.dispatcher(“a”)=>“hi”'。 – 2014-10-06 17:41:37
嗨@CarySwoveland - 问题被编辑,从而失去了一些上下文。我正在从以下页面获取此片段:[http://www.ruby-doc.org/core-2.1.3/Module.html#method-i-instance_method](http://www.ruby-doc .org/core-2.1.3/Module.html#method-i-instance_method),其中散列分配的优点是可以用其他方式扩展。 – pgblu 2014-10-06 17:48:43