si aucune modification n'a été apportée Certaines versions bang de Array
méthodes sont comme compact!
, reject!
, flatten!
, uniq!
retour nil
:Comportement des méthodes bang Array
[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]
S'ils l'ont fait de cette façon, il doit y avoir une raison. Des idées de ce que ça pourrait être?
C'est un bon point. Mais vous ne pouvez pas dire 'return array.flatten!', Ce qui, pour moi, semblerait utile soit – artemave
True. Si c'est ce que vous voulez, vous diriez 'return array.flatten' (no bang) qui vous retournera une copie aplatie du tableau original. –
Ce qui me force à faire une copie là où je n'ai pas besoin de le faire. Ce qui est exactement comment j'ai eu des problèmes en utilisant la version banged en premier lieu. – artemave