我有这样的方法
def foo(method_name)
bars.find{|bar| bar.method_name }
end
参数method_name
是一个符号,方法method_name
返回布尔值。
我可以使用&:
编写此方法吗?
我想这样写:
bars.find("&:#{method_name}")
但它不起作用。
答案 0 :(得分:0)
试
def foo(method_name)
method_sym = method_name.to_sym
bars.find(&method_sym)
end
# one line
def foo(method_name)
bars.find(&method_name.to_sym)
end
或
def foo(method_name)
bars.find{|bar| bar.public_send(method_name)}
end