0
A
回答
1
你想通過名稱調用方法嗎?然後,使用Object#send
。
def worker(x)
[3,4].send(x)
end
worker(:min)
# => 3
worker(:max)
# => 4
相關問題
- 1. 將傳遞給方法的塊傳遞給Ruby中的另一個方法
- 2. 無法將數組傳遞給Ruby中的方法
- 3. 在Ruby中將塊傳遞給class_eval中的嵌套方法?
- 4. 將httpservletrequest傳遞給方法
- 5. 將ArrayList傳遞給方法?
- 6. 將CharArray傳遞給方法
- 7. 將int []傳遞給方法
- 8. 將Stringstream傳遞給方法
- 9. 將塊傳遞給方法
- 10. 我應該將Backgroundworker傳遞給方法
- 11. 我如何將方法傳遞給List.Sort()?
- 12. 將對Ruby中方法的引用傳遞給另一個方法
- 13. 將塊傳遞給Java中的方法
- 14. 將方法中的變量傳遞給類中的方法
- 15. Ruby - 如何將上傳的文件傳遞給方法?
- 16. 無法將數組傳遞給方法
- 17. 如何將多個塊傳遞給ruby中的方法?
- 18. 將哈希值作爲參數傳遞給Ruby中的方法
- 19. 創建將對象傳遞給實例方法的NSPredicate
- 20. 將內部遞歸方法的值傳遞給外部方法
- 21. 將類方法傳遞給python中的類方法的問題
- 22. 將方法中的參數傳遞給Click事件方法#
- 23. 將方法傳遞給C++中的方法
- 24. 替代方法將列表傳遞給MVC中的HttpGet方法
- 25. 在塊中傳遞給Ruby中的方法
- 26. 在創建Ruby方法
- 27. 將值傳遞給方法參數來創建一個CGRect
- 28. 將字符串傳遞給4D方法創建記錄
- 29. 通過將HTML內容傳遞給方法來創建PDF
- 30. 在observe_field方法中傳遞ruby變量
@ muistooshort我不同意關閉這個決定。另一個問題是明確地調用名字,這個問題是關於傳遞方法作爲參數,並且有可能有效的答案,涉及lambdas,yield或block傳遞。 – pjs
@pjs我相信這個擴展範圍也會有重複。當然,這個問題還不夠清楚,不能保證擴展,但是歡迎您嘗試說服其他人。 –
如果您確實是指「傳遞方法」,則必須將*方法*包裝到對象中。方法(作爲塊 - 不是lambda和proc)是「一切都是對象」規則中少數例外之一。 'max = Array.instance_method:max' - 現在'max'是沒有'self'的對象。 'arr = [1,2,3]; min.bind(arr).call' - 你讓'arr'知道這個特定的方法,然後你調用它。你可以在這裏閱讀更多關於'UnboundMethod'類的內容:http://www.ruby-doc.org/core-1.9.3/UnboundMethod.html This:http://www.ruby-doc.org/core-1.9。 3/Method.html也可能有用。 –