Разъяснение Ruby переменных - PullRequest
0 голосов
/ 01 марта 2010

Я вижу, что в Ruby есть следующие переменные: - глобальные переменные (представленные $ variable_name) - переменные класса (представленные как @@ variable_name) - переменные экземпляра (представленные как @variable_name) и - локальные переменные (представленные как variable_name или _variable_name)

Иногда я вижу следующее в исходном коде rails:

класс SomeClass @var конец

Вот что именно представляет @var и как вы его называете, переменная метакласса? Также в чем преимущество использования такого рода переменных?

1 Ответ

1 голос
/ 01 марта 2010

Это одна из переменных экземпляра классов. В Ruby все является объектом, даже классами, поэтому неудивительно, что у классов могут быть переменные экземпляра.

class A
  @@class_var = 1
  @instance_var = 1
end
A.class_variables
#=> ["@@class_var"]
A.instance_variables
#=>["@instance_var"]

Подробнее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...