作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么下面的例子会出错?
class ClassA
class ClassB
end
class ClassC
def test
ClassB.new
end
end
end
p ClassA::ClassC.new.test # => #<ClassA::ClassB:0x0000010103f860>
class ClassA
class ClassD
def test
ClassB.new
end
end
end
p ClassA::ClassD.new.test # => #<ClassA::ClassB:0x0000010103f010>
class ClassA::ClassE
def test
ClassB.new
end
end
p ClassA::ClassE.new.test # => NameError: uninitialized constant ClassA::ClassE::ClassB
ClassE
, 而不是通过键入
class ClassA; class ClassE
?
最佳答案
嗯,是的,如果你定义你的测试方法返回 ClassA::ClassB.new
:-)
你也可以玩玩const_missing
以便它调用 ClassA.const_get
.
否则 ClassB
不在当前范围内,此时只有 ClassA::ClassE
和 Object
.第一次打开时ClassA
,然后 ClassE
, 查找 ClassB
首先在 ClassA::ClassE
中完成,然后在 ClassA
(找到它的地方)并且还会查看 Object
.
关于ruby - 为什么在尝试引用 Ruby 中的嵌套类时会出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3312665/
我创建了一个分支来开发新功能。由于这个新功能完全是作为一个新项目开发的,唯一可能的冲突来源是解决方案文件。 随着功能的开发,主分支更新了几次。当我完成开发和测试时,我做了: git checkout
我是一名优秀的程序员,十分优秀!