About class

在ruby中經常可以見到這樣的寫法:

class A
  class << self
     def hello
        puts "hello"
     end
   end
end

這樣的寫法和

class A
  def self.hello
     puts "hello"
   end
end

可以說是完全一樣的。第一種寫法的一個好處是,如果需要在一個class或者module裏面定義多個類級別的方法, 這種寫法可以少寫很多個"self." :)

還有一個好處是,可以使用attr_reader/attr_accessor 之類的meta programming的method.



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章