【发布时间】:2011-02-21 20:48:33
【问题描述】:
在 Ruby 中如何创建私有类常量? (即在课堂内可见但在课堂外不可见)
class Person
SECRET='xxx' # How to make class private??
def show_secret
puts "Secret: #{SECRET}"
end
end
Person.new.show_secret
puts Person::SECRET # I'd like this to fail
【问题讨论】:
-
当然,Ruby 中的“私有”并不意味着它在大多数语言中的含义。 Ruby 在隐藏方面并没有那么大,所以如果你想访问某些东西,你总是可以的(但也许不是最明显的语法)。 Ruby 的
private只说它前面不能有一个点 (.)(我想这也是为什么它不能在::上工作的暗示) -
以防万一。 Ruby 1.9.3 现在有了私有常量。
标签: ruby access-specifier class-constants