【发布时间】:2016-11-02 00:39:55
【问题描述】:
我解释一下:
我想知道如何将方法或函数作为参数传递。
例如,在 Python 中将是:
from MyFile import MyClass
MyClass().my_method_click(function) # without parentheses
在本例中,在 Python 中,您发送的函数或方法不包含 括号,如果我这样做:
from MyFile import MyClass
MyClass().my_method_click(function()) # with parentheses
我调用函数但不发送它。
在 Ruby 中,当您调用方法或函数时,您可以使用 or 没有括号。
如果我在 Ruby 中这样做:
require_relative "MyClass"
MyClass.new.my_method_click(function) # without parentheses
直接调用而不发送。
当然是针对一个Button,即当我点击它时,运行这个操作。
我如何在 Ruby 中做到这一点?
谢谢!
【问题讨论】:
-
您的问题不清楚。你谈论方法和函数,好像它们是可以互换的,但方法和函数是非常不同的东西。方法属于对象,但它们本身不是对象。函数是对象。 Ruby 没有“函数”的概念。根据你的意思确切地,“函数”的角色可以由以下任何一个来扮演:一个
Proc,一个响应call的对象,一个响应@987654326的对象@,或响应call和to_proc的对象。
标签: python ruby-on-rails ruby methods tk