我能找到的最接近的是In Ruby, how do I check if method "foo=()" is defined?,但它只有在方法是公开的情况下才有效,即使在类块内也是如此。
我想要的是什么:
Module#private_method_defined?
我尝试过的事情:
class Foo
def do_stuff_if_bar_is_defined
if self.class.private_method_defined?(:bar)
do_stuff
end
end
private
def bar
"bar"
end
private_method_defined? :bar #=> true
end
Foo.private_method_defined? :bar #=> true
答案 0 :(得分:27)
另一种方法是使用:respond_to?
,例如
self.respond_to?(:bar, true)
请注意,第二个参数在这里很重要 - 它表示:respond_to?
应该查找所有范围方法,包括私有方法。
答案 1 :(得分:11)
您想要 childls_pid = fork();
childSort_pid = fork();
。
fork()