gpt4 book ai didi

ruby - 获取没有父名称的 Ruby 纯类名,有什么直接的方法吗?

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

我经常需要获取一个对象的纯类名,如下代码:

class Foo
class Bar

end
end
obj = Foo::Bar.new
puts obj.class.name # It shows "Foo::Bar", while what I want is just "Bar"

我知道它可以通过 obj.class.name.split('::').last 来完成,但是,不应该有一个方法只返回“Bar”吗?

最佳答案

在普通的 Ruby 中,我很确定 class.name.split('::').last 是最好的方法。但是如果你碰巧使用 ActiveSupport(如果你在 Rails 上,这个库将被加载)有一个名为 demodulize 的变形器。 .

class Foo
class Bar
end
end
obj = Foo::Bar.new
puts obj.class.name.demodulize # => Bar

关于ruby - 获取没有父名称的 Ruby 纯类名,有什么直接的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26057646/

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