gpt4 book ai didi

ruby-on-rails - 带双冒号的 Ruby 类命名约定

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

我知道 Ruby 中的 :: 是一个范围解析运算符,用于访问模块和类中的方法,但是使用 :: 命名类是否合适?

例子

class Foo::Bar::Bee < Foo::Bar::Insect

def a_method
[...]
end

end

最佳答案

如果您所说的“正确”是指句法正确——

这样做本质上没有错,如果您在单独的文件中定义子类(下面的示例),那么这是一种相对常见的做法。

# lib/foo.rb
module Foo
end

# lib/foo/bar.rb
class Foo::Bar
end

如果你不能确定父模块或类已经存在,我会避免以这种方式定义类,因为你会得到一个 NameError 由于父(例如 Foo ) 不存在。出于这个原因,您不会看到太多遵循更简洁模式的开源软件。

孤立地,这行不通:

class Foo::Bar
end

然而,这会起作用:

module Foo
class Bar
end
end

关于ruby-on-rails - 带双冒号的 Ruby 类命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21052539/

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