gpt4 book ai didi

ruby - 从模块中获取类名

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

如何从模块中获取包含该模块的类的类名?

module ActMethods
def some_method(*attr_names)
cls = self.class # this doesn't work
end
end

我如何进入 cls 变量,这个模块要加载的类的名称?

最佳答案

self.class 确实为您提供了调用该方法的对象的类。假设模块被包含在一个类中,这要么是包含该模块的类,要么是它的子类。如果您真的只想要名称,可以改用 self.class.name

如果你用模块扩展了一个类并且你想得到那个类,你可以只做 cls = self (或者 cls = name 如果你想要名字类的字符串)。

如果以上都没有帮助,您应该明确您想要什么。

关于ruby - 从模块中获取类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1812600/

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