Issue #12247 has been updated by Sebastian Skalacki.


If the return value has as many items as arguments passed to the method and the items order is preserved, then the return value decomposition will be possible, for example:

~~~
ary = %w[c a e c]
a, b, c = ary.delete("a", "b", "c") # => ["a", nil, "c"]
ary # => ["e"]
a # => "a"
b # => nil
~~~

That said, I'm not sure if such construct is useful at all.

Anyway, I think that the return value could be better described in docs.  I mean both the elements contained and the return value.  Right now it only says that the return value is an empty array when no items are removed.

----------------------------------------
Feature #12247: accept multiple arguments at Array#delete
https://bugs.ruby-lang.org/issues/12247#change-57934

* Author: Usaku NAKAMURA
* Status: Open
* Priority: Normal
* Assignee: 
----------------------------------------
I found that it's very useful if `Array#delete` accepts multiple arguments.

```ruby
ary = [1, 2, 3, 4, 5]
ary.delete(1, 3)       #=> [1, 3]
ary                    #=> [2, 4, 5]
```

---Files--------------------------------
delete_multi.patch (4.6 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>