创建: 2018/03/15
都知道def self.方法名 来定义类方法
class SampleClass def self.class_method1 # 类方法定义 1 ... end class << SampleClass # 类方法定义 2 def class_method2 ... end end end
那么如果在实例方法里呼出模块内其他方法, 也就是 send 该怎么写呢。
经测试, self.send 方法名 # 字符串或者符号都可以 即可
module SampleModule extend ActiveSupport::Concern SampleModuleSelector = [ :sayHello, :sayGoodbye ] included do end def runner self.send SampleModuleSelector[0] self.send SampleModuleSelector[1] end private def sayHello puts %Q(UUID sayHello) end def sayGoodbye puts %Q(UUID sayGoodbye) end end