ruby - 在并行赋值中删除值

标签 ruby variable-assignment

既然可以这样并行赋值,

x, y, z = [1, 2, 3]

我想知道是否可以删除 y 值。有没有一种方法可以在不污染当前作用域的命名空间的情况下进行并行赋值?

我尝试分配给 nil:

x, nil, z = [1, 2, 3]

但这不起作用。

最佳答案

执行此操作的惯用方法是将其分配给名为下划线的变量:

x, _, z = [1, 2, 3]

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

x, *_, z = [1, 2, 3, 4, 5]

关于ruby - 在并行赋值中删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42509986/

相关文章:

c++ - 递归使用赋值运算符

c# 执行此代码的有效方法是什么 - 样式 php "eval"

php - 在 foreach() 表达式中,值是在键之前还是之后定义的?

python - 写值需要多行时如何给变量赋值(python)

jquery - Rails,单击时更改 HTML 元素的类属性

ruby-on-rails - Ruby on Rails - after_validation 是否有效?

ruby-on-rails - 目录 : How to authenticate user before POST

java - 分配给Java中的字节数组

ruby - 修复正则表达式以提取特定的数字格式

Ruby:隐式 block 迭代器