这是我读过关于 constant lookup 讲的最好的文章,不要问我为什么 >> 社区 >> Ruby China



这是我读过关于 constant lookup 讲的最好的文章,不要问我为什么 » 社区 » Ruby China

这是一篇翻译,在此给大家分享,是因为我觉得讲的太好。不知道是不是因为我读的相关书籍太少,还是从来没有google过相关知识点,最近看到这篇文章很激动。
它讲的是关于Ruby中Constant lookup的东西,仔细读了三遍之后,我算是基本了解了Ruby的constant lookup机制。

在Ruby中,当你需要访问一个常量的时候,很简单直接使用这个常量的名字就行。比如:People
但是你知道Ruby是怎么去找到People的吗?
简单讲他会去三个地方寻找:
1. Module.nesting
2. Module.nesting.first.ancestors
3. Object.ancestors (条件:当Module.nesting.first.nil?为true,或者你正处于一个module中)
注意: 前两个是没有什么条件的


Read full article from 这是我读过关于 constant lookup 讲的最好的文章,不要问我为什么 » 社区 » Ruby China


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts