Ruby:在组中分配变量

时间:2013-08-27 22:11:03

标签: ruby variables variable-assignment

Ruby可以在组中命名变量,可能就是这样吗?

(variable1, variable2, variable3) = 0

2 个答案:

答案 0 :(得分: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

修改:为了清晰起见,编辑了几个句子。

答案 1 :(得分:1)

您可以执行以下操作:

 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