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