我注意到 rails 框架中的代码到处都使用以下约定:
class SomeClass
class << self
def some function
end
end
end
而不是
class SomeClass
end
def SomeClass.function
end
和
class SomeClass
def self.somefunction
end
end
选择这种设计的原因是什么?他们似乎都完成了同样的事情
最佳答案
Dave Thomas 有一个不错的元编程截屏视频系列,其中涉及这些高级主题。我相信第二集讲的是 class << self。可以在 http://www.pragprog.com/screencasts/v-dtrubyom/the-ruby-object-model-and-metaprogramming 找到截屏视频。
关于ruby-on-rails - 关于rails框架代码的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2916284/