gpt4 book ai didi

ruby - 如何在 Ruby 中获取命名空间中的所有类名?

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

我有一个模块 Foo,它是许多类的命名空间,例如 Foo::BarFoo::Baz 等等上。

有没有办法返回所有由 Foo 命名空间的类名?

最佳答案

Foo.constants

返回 Foo 中的所有常量。这包括但不限于类名。如果你只想要类名,你可以使用

Foo.constants.select {|c| Foo.const_get(c).is_a? Class}

如果你想要类名和模块名,你可以使用is_a?模块而不是is_a?类

关于ruby - 如何在 Ruby 中获取命名空间中的所有类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3676274/

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