在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.
Ruby类方法定义技巧
本文介绍了在Ruby中定义类方法的两种方式,并对比了它们之间的优缺点。特别地,文章详细解释了一种较为简洁的定义多个类方法的方法,并强调了这种方法在元编程中的应用。
1万+

被折叠的 条评论
为什么被折叠?



