Trong Ruby, làm cách nào để tạo một hằng số lớp riêng tư? (nghĩa là một trong đó là có thể nhìn thấy bên trong lớp nhưng không phải bên ngoài)Làm cách nào để tạo các hằng số lớp riêng trong 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
Tất nhiên, "private" trong Ruby không có nghĩa là ý nghĩa của nó trong hầu hết các ngôn ngữ . Ruby không phải là lớn trên ẩn, vì vậy nếu bạn muốn truy cập một cái gì đó, bạn luôn có thể (nhưng có lẽ không phải với cú pháp rõ ràng nhất). "Riêng tư" của Ruby chỉ nói rằng nó không thể đứng trước dấu chấm ('.') (mà tôi đoán cũng là một gợi ý tại sao nó sẽ không hoạt động trên' :: ') – Amadan
Chỉ trong trường hợp. Ruby 1.9.3 hiện có các hằng số riêng tư. – whitequark