我需要将nil
分配给多个变量。我有:
a = nil
b = nil
c = nil
哪种方法最有效?
答案 0 :(得分:5)
它几乎不会短于:
a = b = c = nil
答案 1 :(得分:3)
您可以执行以下操作:
a,b,c = nil,nil,nil
# or
a,b,c = [nil] * 3
您还可以执行以下操作,如果未明确指定变量,则可以利用变量的默认值nil
这一事实。
a,b,c = nil
在上述情况下,明确nil
将分配给a
,而b
和c
将获得默认nil
。因此,它的一个技巧只适用于nil
。
通过使用虚拟变量nil
作为并行赋值中的第一个变量,您还可以为所有三个变量分配默认值_
。
_,a,b,c = nil
答案 2 :(得分:0)
要指定nil
,您可以使用
a = b = c = nil
但请记住,这仅适用于不可变对象。
见这个例子:
a = b = c = "test"
b << "1"
a # => "test1"
你可能需要尝试:
a, b, c = 3.times.map{ "test" }