"La segunda convención es que cualquier método cuyo nombre termina con un signo de exclamación debe utilizarse con precaución. (...) A menudo, los métodos que terminan con un signo de exclamación son mutators, que alteran el estado interno de un objeto. Pero esto no siempre es así, hay muchos mutadores que no terminan con un signo de exclamación, y un número de no mutadores que lo hacen. Los métodos de mutación (como Array.fill
) que no tienen una variante no mutante no suelen tener un signo de exclamación (sic) ".
(El lenguaje de programación Ruby, Flanagan & Matsumoto, página 180)
El libro continúa con el ejemplo exit
frente exit!
(tanto nonmutating;. exit!
saltarse todos los ganchos at_exit)
estoy con Mauricio- -No es sorprendente. estás estallando. Que la estructura esté actualizada es implícita. –