我有一个数组:
scores = [1, 2, 3, "", 4]
我想删除所有空白值。但是当我运行这个:
puts scores.reject(&:empty?)
我收到一个错误:
undefined method `empty' for 1:Fixnum
如何在一个步骤中从数组中删除不是整数的值?我正在使用Ruby 1.9.3。
最佳答案
它很简单:
scores.grep(Integer)
请注意,如果您打算映射值,则可以在下面的代码块中执行此操作:
scores.grep(Integer){|x| x+1 }
如果您想做同样的事情,但您的数字是字符串,则有好处:
scores.grep(/\d+/){|x|x.to_i}
关于ruby - Ruby使用.reject从数组中删除零值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19430266/