gpt4 book ai didi

ruby - 用 `module_function` 定义模块函数与在 Ruby 中用 `self.` 定义它一样吗?

转载 作者:数据小太阳 更新时间:2023-10-29 07:15:03 26 4
gpt4 key购买 nike

在 Ruby 中用 module_function 定义一个模块函数和用 self. 定义它一样吗?也就是说,它们是否都会导致实例方法和模块方法的创建?

最佳答案

没有。

module M1
def self.foo; end
end

module M2
module_function
def goo; end
end

M1.methods(false) #=> [:foo]
M1.instance_methods #=> []
M1.private_instance_methods #=> []

M2.methods(false) #=> [:goo]
M2.instance_methods #=> []
M2.private_instance_methods #=> [:goo]

关于ruby - 用 `module_function` 定义模块函数与在 Ruby 中用 `self.` 定义它一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37021084/

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