Ejercicio 14: Clases abiertas

¡Ah! Un pequeño detalle: las clases en Ruby están abiertas. Esto significa que en cualquier momento es posible agregarle o modificarle métodos :scream:.

Basta con volver a declararla, por ejemplo, para agregarle un método sum a la clase Array

class Array
  def sum
    inject(0) { |accum, it| accum + it }
  end
end

Esto le da al lenguaje (¡y a nosotros!) gran flexibilidad: si algo falta o está mal en una clase, siempre podemos corregirlo.

Veamos si se entiende: agregá a la clase String dos métodos:

  • shout?: nos dice si termina en signo de admiración (!)
  • shout: agrega al final un signo de admiración, salvo que ya termine con éste.
 'twist!'.shout?
=> true
 'twist!'.shout
=> 'twist!'
 'twist'.shout?
=> false
 'twist'.shout
=> 'twist!'

Tenés que iniciar sesión antes de empezar a enviar tus soluciones