gpt4 book ai didi

ruby - Ruby 中的 Object.class 和 Object.class.inspect 有什么区别?

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

这两种方法似乎都返回相同的结果(对象及其类型的人类可读表示)。这些方法之间有什么区别?

class Foo

end

f = Foo.new
puts f.class <== puts Foo
puts f.class.inspect <== puts Foo

最佳答案

It seems like both of these methods return the same result (a human readable representation of the object and it's type).

不,他们没有。

What is the differences between the methods?

Object#class返回接收器的类。

Module#inspectModule#to_s 的别名并返回模块的人类可读字符串表示。特别是,它返回 Module#name如果它有一个,否则是唯一的表示。对于单例类,它包括关于单例类是单例类的对象的信息。

因此,这两种方法不会返回相同的结果。事实上,它们甚至不返回同一个类的结果:Object#class 返回 Class 的实例。类,Module#inspect 返回 String 的一个实例类。

关于ruby - Ruby 中的 Object.class 和 Object.class.inspect 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43881650/

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