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 这特么是一个坑。。我填过。。