Một số phiên bản tiếng nổ của Array
phương pháp này như compact!
, reject!
, flatten!
, uniq!
trở nil
nếu không có những thay đổi đã được thực hiện:Hành vi của Array phương pháp nổ
[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]
Nếu họ đã làm nó theo cách này, phải có một lý do. Bất cứ ý kiến nào có được không?
Đó là một điểm tốt. Nhưng bạn không thể nói 'return array.flatten!', Với tôi, có vẻ hữu ích hoặc là – artemave
True. Nếu đó là những gì bạn muốn, bạn sẽ nói 'return array.flatten' (no bang) sẽ trả lại cho bạn một bản sao phẳng của mảng ban đầu. –
Tôi buộc phải tạo một bản sao mà tôi không cần. Đó là chính xác làm thế nào tôi đã gặp rắc rối bằng cách sử dụng phiên bản đập ở nơi đầu tiên. – artemave