我想将一个类方法传递给另一个函数,我该怎么做?
class A
def A.test(data)
puts data
end
end
def ps(fun)
fun(3)
end
ps(A.test)
答案 0 :(得分:3)
您必须使用正确的getter来接收方法对象:
class A
def A.test(data)
puts data
end
end
def ps(fun)
fun.call(3)
end
ps(A.method(:test)) #=> 3
答案 1 :(得分:0)
您只需将[ 100, 50 , 11, 11]
传递给method_name
,并ps
将ps
消息发送到method_name
类(并始终为A
} class)使用这个:
A
或者您可以使用以下内容将class A
def A.test(data)
puts data
end
end
def ps(method_name)
A.send(method_name, 3)
end
ps(:test) # => 3
课程和A
传递给method_name
:
ps