gpt4 book ai didi

ruby - 为什么 `class << self` 比 `class << Foo` 更常见用于打开类对象的特征类?

转载 作者:数据小太阳 更新时间:2023-10-29 08:47:01 25 4
gpt4 key购买 nike

Ruby 程序员通常使用 class << self inside a class body打开类对象的特征类,像这样:

class Foo
class << self
# ...
end
end

但是,我很少看到这种等效形式(假设 Foo 已经被定义为一个类):

class << Foo
# ...
end

是否有理由偏爱第一种风格而不是第二种风格?

最佳答案

使用 class << Foo 时,或明确定义 def Foo.some_method(args) 时你在重复类(class)的名字。

使用 class << self是 DRYer,并且使重构更容易(更改类名在一个地方完成,而不必在代码中重复),以及复制+粘贴到其他类/项目。

class Foo1
# ..
end

class << Foo # <- :(
#..
end

关于ruby - 为什么 `class << self` 比 `class << Foo` 更常见用于打开类对象的特征类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24788647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com