【发布时间】:2014-05-18 11:18:40
【问题描述】:
使用常量而不是像这样返回这些常量的方法有什么意义吗?
class Foo
LETTERS = [:a, :b, :c]
# and them call it Foo::LETTERS
end
# or
class Foo
def self.letters
[:a, :b, :c]
# and then call it Foo.letters, more simplier
end
end
我只能看到第一种方法的一个优点:尝试重新定义常量时发出警告,但我认为这种情况很少见。
【问题讨论】:
-
第二种方法每次调用
Foo.letters时都会创建一个新数组... -
@UriAgassi 我认为您的评论可能是一个很好的答案。
-
根据您当前的上下文,我认为第一种方法很好,如果您不打算在每次访问
LETTERS时返回不同的数组对象。 -
哦,当然@UriAgassi 是对的。我忘记了这么简单的事情:(
标签: ruby