Программисты Ruby обычно используют class << self
внутри тела класса, чтобы открыть собственный класс объекта класса, например:
class Foo
class << self
# ...
end
end
Однако я редко вижу эту эквивалентную форму (предположим, что Foo
уже определен как класс):
class << Foo
# ...
end
Есть ли причина предпочесть первый стиль второму?
def self.a ... end
, а неdef A.a ... end
. В обоих случаях использованиеself
уменьшает на одну количество строк в вашем коде, которые требуют внимания, если вы переименуете класс. Я не могу думать ни о какой другой пользе. - person Cary Swoveland   schedule 17.07.2014