【发布时间】:2010-09-18 13:39:14
【问题描述】:
Array 方法的某些 bang 版本类似于 compact!、reject!、flatten!、uniq! 如果没有进行任何更改,则返回 nil:
[1,[2]].flatten!
# => [1, 2]
[1,2].flatten!
# => nil
[1,[2]].flatten
# => [1, 2]
[1,2].flatten
# => [1, 2]
[1,2,nil].compact!
# => [1, 2]
[1,2].compact!
# => nil
[1,2,nil].compact
# => [1, 2]
[1,2].compact
# => [1, 2]
如果他们这样做,那肯定是有原因的。有什么想法吗?
【问题讨论】: