Actions
Feature #12360
closedMore useful return values from bang methods
Status:
Rejected
Assignee:
-
Target version:
-
Description
It would be nice if bang methods returned results that where of some additional use. Presently most just return the effected receiver.
For example, currently Array#reject! works as follows:
a = [1,2,3,4]
a.reject!{ |x| x % 2 == 0 }
=> [2,4]
a
=> [2,4]
So the return value of #reject! is useless b/c it is just the same as a
(in this example). So why not return what was rejected instead:
a = [1,2,3,4]
a.reject!{ |x| x % 2 == 0 }
=> [1,3]
a
=> [2,4]
Now we have useful additional information -- we know exactly what got rejected. To do the same thing presently we would have to fully duplicate the original array and then take the difference -- two extra steps.
The downside is that the method would consume a little more memory and probably slow the method's execution a little too. But I tend to side with functionality when I use Ruby.
Actions
Like0
Like0Like0Like0Like0