首页 > 其他 > 详细

ruby module里的self

时间:2018-03-15 18:19:34      阅读:234      评论:0      收藏:0      [点我收藏+]

创建: 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

 

ruby module里的self

原文:https://www.cnblogs.com/lancgg/p/8575012.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!