`Class`和`class`有什么区别

Chi*_*tra 1 ruby

在创建类时,我们使用关键字class:

class Abc
  Z = 5
  def add
    puts "anything here"
  end
end
Run Code Online (Sandbox Code Playgroud)

在控制台中, Abc.class # => Class

Abc内部如何成为一个班级?class和之间有什么区别Class

如果有人能够解释内部调用类常量和方法的方式,并且如果没有定义方法,那么我们将如何获得异常将会很棒"undefined class method".它背后的内在逻辑是什么?

ndn*_*kov 14

这里有三个不同的东西:

  1. class 是一个关键字,用于定义或重新打开一个类
  2. Object#class 是一个方法,它返回给定对象的类
  3. Class是所有类都是(包括Class其自身)实例的类