経緯
compact!メソッドによって仕事でバグを生み出してしまったので、備忘録としてアウトプット
compact、compact!の戻り値
compact、compact!は配列からnilを弾くが、配列にnilが含まれていない時、compact!の戻り値が予想していないものだった。。。
## arrayがnilを含んでいる時
array = [1,2,3,4,5,nil]
# compact
array.compact
=> [1, 2, 3, 4, 5]
# compact!
array.compact!
=> [1, 2, 3, 4, 5]
## arrayにnilがない時
array = [1,2,3,4,5]
# compact
array.compact
=> [1, 2, 3, 4, 5]
# compact!
array.compact!
=> nil
# ふぁ!?!?