Возможно ли в Ruby указать переменные в группах, возможно, так?Ruby: Назначение переменных в группах
(variable1, variable2, variable3) = 0
Возможно ли в Ruby указать переменные в группах, возможно, так?Ruby: Назначение переменных в группах
(variable1, variable2, variable3) = 0
Вы можете сделать, как показано ниже:
variable1 = variable2 = variable3 = 0
Читать этот вопрос: - is it right to assigning multiple variable like this a = b = c = d = 5 in ruby?
Так общий подход:
variable1, variable2, variable3 = [0] * 3
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: редактировать пару предложений для ясности.
Каковы ваши намерения? – sawa