我有一个数组...说
arr= [:a, :b, :c, :d, :b, :a, :q]
我想删除所有:band:c的
我可以.delete在一行中使用该方法完成此操作吗?
我知道这arr.delete(:b)会删除:b,我知道arr.delete(:c)会删除:c,但是如何在一行中删除两者?
我尝试了不同的变体:
arr.delete(:c,:d)
没有运气。
IMO 您可以delete_if在这种情况下使用:
array = [ :a, :b, :c ]
array.delete_if {|x| [:b,:c].include?(x) } #=> [:a]
更多关于Array#delete_if delete_if
您也可以使用拒绝!为了这:
arr.reject!{|element| [:b, :c].include?(element)} #=> [:a, :d, :a, :q]