aboutsummaryrefslogtreecommitdiffstats
path: root/guides
diff options
context:
space:
mode:
authorXavier Noria <fxn@hashref.com>2018-05-06 13:56:06 +0200
committerXavier Noria <fxn@hashref.com>2018-05-06 14:06:16 +0200
commit5c7656d9a568fda855e6e558b7e44b1ba51425be (patch)
treea2eb9e6053fa924c2a6a82d20efeb0aa4f3d8149 /guides
parent5edafc21b9e7a0fd84c5664be7c431e05c9b67fb (diff)
downloadrails-5c7656d9a568fda855e6e558b7e44b1ba51425be.tar.gz
rails-5c7656d9a568fda855e6e558b7e44b1ba51425be.tar.bz2
rails-5c7656d9a568fda855e6e558b7e44b1ba51425be.zip
restores original intention in constants guide, reworded [ci skip]
Once all technicalities have been introduced, the purpose of this paragraph is to precisely unroll expressions like "the String class". That way, the reader is forced to clearly separate concepts that Ruby programmers often have kind of blurred: * Constants are storage, like variables. * Ruby does not have syntax for class or module names. * `String` is a regular constant that holds a value. In this case, the value happens to be a class object. * Constants are stored in class and module objects. In the case of `String`, the holder is the class object stored in the `Object` constant. Understanding that paragraph the way is written is important to accomplish this objective. References #32818.
Diffstat (limited to 'guides')
-rw-r--r--guides/source/autoloading_and_reloading_constants.md10
1 files changed, 6 insertions, 4 deletions
diff --git a/guides/source/autoloading_and_reloading_constants.md b/guides/source/autoloading_and_reloading_constants.md
index ab411201e8..767e158a7e 100644
--- a/guides/source/autoloading_and_reloading_constants.md
+++ b/guides/source/autoloading_and_reloading_constants.md
@@ -230,10 +230,12 @@ is not entirely equivalent to the one of the body of the definitions using the
`class` and `module` keywords. But both idioms result in the same constant
assignment.
-Thus, when one informally says "the `String` class", that really means: the
-class object stored in the constant called "String" and this "String" constant
-gets stored in `Object` class. `String` is otherwise an ordinary Ruby constant
-and everything related to constants such as resolution algorithms applies to it.
+Thus, an informal expression like "the `String` class" technically means the
+class object stored in the constant called "String". That constant, in turn,
+belongs to the class object stored in the constant called "Object".
+
+`String` is an ordinary constant, and everything related to them such as
+resolution algorithms applies to it.
Likewise, in the controller