What is the class << self in ruby
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Why isn't the eigenclass equivalent to self.class, when it looks so similar?
class << self idiom in Ruby
我有这门课:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | class Player < ActiveRecord::Base before_save :set_slug def remains ((end_date - Date.today) + 1).to_i end def self.url "Our_link_#{slug}" end class << self def load_track_lists #do somthing end end end |
我理解类和实例方法,但是
1 2 3 4 5 | class << self def load_track_lists #do somthing end end |
真是令人困惑。 它是什么?它与前两种方法有何不同?
最终结果基本上与定义为相同
1 2 3 | def self.load_track_lists #do somthing end |
如果您不仅仅在链接问题中描述的
它与self.url方法没有区别。 它基本上是一个容器,允许你放置多个方法,而不必自己。 在方法名称前面。 可能在示例中没有用,但对于其他类可能非常干净。
IMO这是开发人员的偏好