传递以下方法Dim ie As ImportExportSpecification
For Each ie In CurrentProject.ImportExportSpecifications
Debug.Print ie.Name
Next
,它与方法名称和通过:symbol
设置的实例变量相关联。我能够完成这项工作的唯一方法是通过eval。有办法解决这个问题吗?
attr_accessor :symbol
答案 0 :(得分:3)
您可以使用public_send
def collection_exists?(event_list)
send(event_list).any?
end
答案 1 :(得分:1)
您可以使用以下选项之一:
method(event_list.to_sym).call.any?
public_send(event_list.to_sym).any?
请注意,使用public_send
比使用send
更安全,因为后者不关心方法的可见性,可以使用protected
和{{1}方法很顺利,而private
(因为你从它的名字中猜出来)如果你试图用它来调用非public_send
方法,就会提高。
另请注意,您不需要public
来读取值,这是隐含的。