如何理解Ruby解释器/编译器技术

时间:2017-04-14 18:09:42

标签: ruby-on-rails ruby oop

我想知道红宝石翻译是如何工作的。好吧,让我们来看看吼叫 在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? Classtrue然后A.is_a? A应该是真的,因为A是{ {1}}。但Class是错误的原因? 另一个例子

A.is_a? A

我的意思是怎么样? 因为Module.is_a? Class # returns true Class.is_a? Module # returns true 无法在Module可以实例化,ClassMudule之间存在其他差异。 那么这些表达式如何回归Class 这意味着这背后有一些逻辑。 有人可以解释这里发生的逻辑或魔法。 我真的很想知道这一点。 请帮助我理解true翻译技巧
提前谢谢。

0 个答案:

没有答案