gpt4 book ai didi

ruby - self.included 在模块中

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

我有一个包含模块 SimpleURLSanitizerBrand 类。该模块有一个类方法定义如下:

class Brand
include SimpleURLSanitizer
end

module SimpleURLSanitizer
def self.included base
base.send :extend, self
end
end

由于我们包含模块,它只能访问模块的实例方法。但是类方法 included 将在模块被包含在类中时被调用。 baseBrand 类。这个 included 方法在做什么?此方法中的 self 是指模块还是 Brand 类?它是如何工作的?

最佳答案

当您在类中包含 SimpleURLSanitizer 时,SimpleURLSanitizer 的所有方法都可以作为实例方法访问。这是默认行为。

included 部分还确保您可以将这些方法作为类方法访问。

关于ruby - self.included 在模块中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35837702/

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