并行分配中的丢弃值

mes*_*chi 1 ruby variable-assignment

既然可以这样做并行分配,

x, y, z = [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以降低y价值.有没有办法在不污染当前范围的命名空间的情况下进行并行分配?

我尝试分配给nil:

x, nil, z = [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

ndn*_*kov 10

这样做的惯用方法是将其分配给名为underscore的变量:

x, _, z = [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

如果要删除多个值,可以使用splat:

x, *_, z = [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)