在 SO 和 Google 中搜索“ruby AboutClasses”都没有结果。
class Dog
end
fido = Dog.new
puts Dog.inspect
puts fido.inspect
结果是
AboutClasses::Dog
#<AboutClasses::Dog:0x6255f0>
你能解释一下吗:
- 什么词
AboutClasses
是吗? - 第二个结果中的符号
#<xxxxx>
.我知道这是一个实例,但为什么要放#<>
周围?
最佳答案
Searching GitHub产生一堆包含 require 'about_classes'
的 Ruby 源文件, 它们都在 ruby_koans 的分支中。
事实上,文件about_classes.rb文件在名为 AboutClasses
的类中包含一个名为 fido 的 Dog 类.我猜你已经加载了这个类或者正在执行它。
回答您关于 #<AboutClasses::Dog:0x6255f0>
的具体问题:
术语“AboutClasses”只是一个类或模块名称。您可以嵌套它们,以便外部类或模块充当命名空间。这样,您的 Dog 类就不会与您加载的其他一些 gem 中的 Dog 类发生冲突。嵌套它们时,名称由
::
分隔.符号
#<ClassName:MemoryAddress>
只是一个符号。井号和尖括号只是为了将它与其他一切区分开来。
关于ruby - 在 Ruby 中,什么是 AboutClasses 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640549/