搜索'ruby AboutClasses'在SO和Google中都没有点击。
class Dog
end
fido = Dog.new
puts Dog.inspect
puts fido.inspect
结果是
AboutClasses::Dog
#<AboutClasses::Dog:0x6255f0>
你能解释一下:
AboutClasses
是什么?#<xxxxx>
中的表示法。我理解这是一个实例,但为什么要把#<>
放在它周围?答案 0 :(得分:5)
Searching GitHub产生了一堆包含require 'about_classes'
的Ruby源文件,所有这些文件都在ruby_koans的分支中。
实际上,文件about_classes.rb文件在名为AboutClasses
的类中包含名为fido的类Dog。我猜你已经加载了这个类或正在执行它。
回答有关#<AboutClasses::Dog:0x6255f0>
的具体问题:
术语“AboutClasses”只是一个类或模块名称。您可以嵌套它们,以便外部类或模块充当命名空间。这样,你的Dog类就不会与你加载的其他宝石中的Dog类冲突。嵌套时,名称由::
分隔。
符号#<ClassName:MemoryAddress>
只是一种表示法。哈希标记和尖括号就是将它与其他所有内容区分开来。