我想知道红宝石翻译是如何工作的。好吧,让我们来看看吼叫 在irb控制台中如果写
Class.is_a? Class #=> returns -> true
我想知道这是如何回归真实的。 发生了什么事情。
class A
def hello
puts 'hello'
end
end
A.is_a? A # returns false
为什么它在这里返回假?
有人可以解释这是如何在下面完成的。我不是要求Ruby
obeject类层次结构,但看Class.is_a? Class
是true
然后A.is_a? A
应该是真的,因为A是{ {1}}。但Class
是错误的原因?
另一个例子
A.is_a? A
我的意思是怎么样?
因为Module.is_a? Class # returns true
Class.is_a? Module # returns true
无法在Module
可以实例化,Class
和Mudule
之间存在其他差异。
那么这些表达式如何回归Class
这意味着这背后有一些逻辑。
有人可以解释这里发生的逻辑或魔法。
我真的很想知道这一点。
请帮助我理解true
翻译技巧
提前谢谢。