2013-08-27 2 views

ответ

2

variable1 = variable2 = variable3 = 0 может быть безопасным для целых чисел , но поскольку в ruby все - объект, все это фактически указывает на тот же объект. Для других типов некоторые операции могут привести к преобразованию одного в дубликат, но вы не можете предположить, что это будет так, и вы можете в конечном итоге непреднамеренно изменить их все сразу. Например, если вы используете строки:

variable1 = variable2 = variable3 = "hello" 
variable1.upcase! 
puts variable1 
puts variable2 
puts variable3 
    >>> HELLO 
    >>> HELLO 
    >>> HELLO 

Гораздо безопаснее параллельно назначение:

variable1, variable2, variable3 = 0, 0, 0 

Edit: редактировать пару предложений для ясности.

Смежные вопросы