我是Ruby新手,所以请轻松一下:)。
无论如何,我正在尝试在chef-provisioning-aws gem中找出一些东西。有一件事特别是有一个叫做的对象:
new_resource.driver.ec2_client
当我对该对象进行检查时,它会返回以下内容:
#<Aws::EC2::Client>
所以,我的问题是:这是什么? Ruby中的什么样的“东西”以井号(哈希)开头并且具有&lt; ...&gt;在它?
非常感谢。
答案 0 :(得分:5)
除非你覆盖它,否则Ruby的inspect方法的输出大致是这样的:
"#<#{self.class}:0x#{self.object_id.to_s(16)}"
换句话说:"#<ClassName:0xobject_id in hex>"
。
class Foo ; end
Foo.new.inspect
#=> "#<Foo:0x007ffe0eeea520>"
似乎对于Aws::EC2::Client
它被覆盖并且不包括对象id。
答案 1 :(得分:2)
它是inspect method的默认实现(尽管应该包含对象ID)。在某些情况下,实现自己的方法可能很有用,因此您可以即时了解您想要了解的有关此对象的内容。 #
只是一个随机字符,在这里没有其他含义。