使用.delete删除数组的两个元素

not*_*off 1 ruby arrays

我有一个阵列...说

arr= [:a, :b, :c, :d, :b, :a, :q]
Run Code Online (Sandbox Code Playgroud)

我想删除所有:b:c

我可以.delete在一行中使用该方法完成此操作吗?

我知道arr.delete(:b)会删除:b,我知道arr.delete(:c)会删除:c,但如何删除一行?

我尝试了不同的变化:

arr.delete(:c,:d)
Run Code Online (Sandbox Code Playgroud)

没有运气.

Sah*_*har 7

你可以delete_if用于这种情况的IMO :

array = [ :a, :b, :c ]
array.delete_if {|x| [:b,:c].include?(x) }   #=> [:a]
Run Code Online (Sandbox Code Playgroud)

更多关于delete_if阵列#delete_if