提交 9b587ef4 编写于 作者: X Xavier Noria

autoloading guide: more edits [ci skip]

上级 c821a775
......@@ -260,10 +260,10 @@ in constant tables.
### Resolution Algorithm for Relative Constants
At any given point the nesting can be empty, let's use *cref* to refer to the
first element of the nesting if it is not empty, or `Object` otherwise. Without
getting too much into the details, the resolution algorithm for relative
constant references goes like this:
At any given place in the code, let's define *cref* to be the first element of
the nesting if it is not empty, or `Object` otherwise. Without getting too much
into the details, the resolution algorithm for relative constant references goes
like this:
1. First, if the nesting is not empty it looks for the constant in its elements
and in order, ignoring their ancestors.
......@@ -656,17 +656,21 @@ creates an empty module and assigns it to the `Admin` constant on the fly.
### Generic Procedure
The procedure to autoload constant `C` in an arbitrary situation is:
Relative references are reported to be missing in the cref where they were hit,
and qualified references are reported to be missing in their parent. (See
[Resolution Algorithm for Relative
Constants](#resolution-algorithm-for-relative-constants) at the beginning of
this guide for the definition of *cref*, and [Resolution Algorithm for Qualified
Constants](#resolution-algorithm-for-qualified-constants) for the definition of
*parent*.)
```
# For relative references C is missing in the cref, and for qualified
# references the C is missing in the parent. See "Constants Refresher"
# at the beginning of this guide for their respective definitions.
The procedure to autoload constant `C` in an arbitrary situation is as follows:
if the class or module in which the constant is missing is Object
```
if the class or module in which C is missing is Object
let ns = ''
else
let M = the class or module in which the constant is missing
let M = the class or module in which C is missing
if M is anonymous
let ns = ''
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册