Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
9b587ef4
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9b587ef4
编写于
12月 15, 2014
作者:
X
Xavier Noria
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
autoloading guide: more edits [ci skip]
上级
c821a775
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
11 deletion
+15
-11
guides/source/constant_autoloading_and_reloading.md
guides/source/constant_autoloading_and_reloading.md
+15
-11
未找到文件。
guides/source/constant_autoloading_and_reloading.md
浏览文件 @
9b587ef4
...
...
@@ -260,10 +260,10 @@ in constant tables.
### Resolution Algorithm for Relative Constants
At any given p
oint 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 p
lace 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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录