2013-06-13 3 views
4

Я только начал изучать Ruby, и мне не удалось найти хорошее объяснение того, что представляет собой разница между @@ и @ в терминах переменных класса. Если кто-то может предоставить базовый интуитивный пример, это будет действительно здорово. Также они взаимозаменяемы?В чем разница между @@ и @ в Ruby?

+2

[This] (http://www.railstips.org/blog/archives/2006/11/18/class-and-instance-variables-in-ruby/) сайт может помочь. – squiguy

ответ

6

переменной с префиксом @@ является переменной класса и один с префиксом @ - это переменная экземпляра. Отличное описание можно найти в этом ответе: https://stackoverflow.com/a/5890199/1181886

+0

Спасибо, что связанный ответ был действительно полезен! – bachkoi32

8

@ перед именем переменной: переменная экземпляра (один на один экземпляр)

@@ перед именем переменной: статическая переменная (один в классе)