RT 后者应该更符合直觉不是吗? 而 delete_if 方法倒是返回了一个数组。。
我认为都不符合直觉。。。。。
delete_if 也是返回被删的元素,只是有可能多个,所以数组罢了。
@cicholgricenchos @pynix 写代码多的话你会知道,经常需要删掉一个值,并处理这个值,之后会继续处理数组。
除此之外,也与 Hash 的返回方式类似,统一。
#1 楼 @pynix 不是的,[1,1,2,3].delete_if{|x| x==1}返回 [2,3],确实是处理后的数组,还有 reject 方法也是这样
#2 楼 @lyfi2003 了解
#3 楼 @cicholgricenchos 。。。。大意了。。。
这样要删除的值不存在,就返回 nil
#6 楼 @liuyaouestc 有道理,感觉 delete_if 和 delete 是分别对应不同需求而设置的
#6 楼 @liuyaouestc 这特么是一个坑。。我填过。。