首页 > 解决方案 > Rails 常量赋值

问题描述

我正在阅读 rails autoloading_and_reloading_constants。在该部分2.2 Class and Module Definitions are Constant Assignments

我理解它所说的部分

class Project < ApplicationRecord
end 

评估为

Project = Class.new(ApplicationRecord)

但没看懂这部分

因此,当人们非正式地说“String 类”时,它的真正含义是:存储在名为“String”的常量中的类对象,存储在 Object 常量中的类对象。String 是一个普通的 Ruby 常量,所有与常量相关的东西,比如解析算法都适用于它。

有人可以简要解释一下吗?

标签: ruby-on-railsrubyobjectnestedclass-constants

解决方案


它或多或少的意思是:

  • 每个类都是一个对象(就像 Ruby 中的 evetything),它的类是Class
  • 类对象被分配给常量,例如StringUser
  • String由于语言结构只是一个常量,仅此而已,它恰好附加了一个描述文本数据的类对象
  • 与加载常量有关的一切都与加载附加到这些常量的类有关

推荐阅读