【发布时间】:2013-08-30 20:14:51
【问题描述】:
在 Ruby 中是否可以按组命名变量,可能像这样?
(variable1, variable2, variable3) = 0
【问题讨论】:
标签: ruby variables variable-assignment
在 Ruby 中是否可以按组命名变量,可能像这样?
(variable1, variable2, variable3) = 0
【问题讨论】:
标签: ruby variables variable-assignment
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
编辑:为了清楚起见,编辑了几个句子。
【讨论】:
你可以这样做:
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
【讨论】: