将“nil”分配给多个变量

Assign `nil` to multiple variables

我需要将 nil 分配给多个变量。我有:

a = nil
b = nil
c = nil

哪种方法最有效?

它几乎不会短于:

a = b = c = nil

要分配 nil,您可以使用

a = b = c = nil

但请记住,这仅适用于不可变对象。

看这个例子:

a = b = c = "test"
b << "1"
a # => "test1"

您可能需要尝试一下:

a, b, c = 3.times.map{ "test" }

您可以执行以下操作:

a,b,c = nil,nil,nil
# or
a,b,c = [nil] * 3

您还可以执行以下操作,利用变量的默认值是 nil 如果未明确分配一个这一事实。

a,b,c = nil

在上述情况下,显式 nil 将分配给 a,而 bc 将分配给默认值 nil。因此,这是一个仅适用于 nil.

的技巧

您还可以通过使用虚拟变量 _ 作为并行赋值中的第一个变量,让所有三个变量都默认赋值 nil

_,a,b,c = nil