gpt4 book ai didi

ruby - 在 Ruby 中,模块中定义的类如何知道模块的常量?

转载 作者:数据小太阳 更新时间:2023-10-29 07:27:40 24 4
gpt4 key购买 nike

我试图了解模块中定义的类如何知道模块的常量。这是我的意思的一个例子:

module Car
class Wheel
end

class Seat
p Wheel # Car::Wheel
end
end

我知道这很明显,但由于 Wheel 不在 Seat 的层次结构中,我不明白它如何访问它。

最佳答案

如果您引用一个类常量,Ruby 将首先在同一个模块中查找它,如果在那里找不到它,然后在根目录中查找。

因此,由于 SeatWheel 都在 Car 模块中,如果您查找 Wheel,它将首先查找 Car::Wheel,然后查找 ::Wheel。由于 Car::Wheel 存在,您将获得该引用。

关于ruby - 在 Ruby 中,模块中定义的类如何知道模块的常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4855926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com