Ruby:从阵列中的多个赋值中丢弃变量

Pre*_*ays 2 ruby

对于从数组给定的变量赋值:

a,b,c,d,e = [ "foo","bar","discard","discard","blah" ]
Run Code Online (Sandbox Code Playgroud)

有没有办法只a,b以及e分配和丢弃cdundef在perl中是否有类似的东西(Perl赋值使用虚拟占位符).

HM1*_*HM1 5

是.

a,b,_,_,e = [ "foo","bar","discard","discard","blah" ]
Run Code Online (Sandbox Code Playgroud)

  • `_`不会导致有关未使用变量的警告(在启用警告时运行;`ruby -w`) (2认同)
  • @PressingOnAlways:Ruby专门处理[`_`变量(以及Ruby 2.0中具有前导下划线的任何其他变量)(http://stackoverflow.com/a/9560198/479863)这个. (2认同)

Aru*_*hit 5

您可以使用splat运算符.

 a,b,*,e = ["foo","bar",nil,nil,"blah"]
Run Code Online (Sandbox Code Playgroud)