Sustituyendo a las animadoras con Ruby en Mac.

El título del post puede sonar raro, pero lo que voy a mostrar hoy es cómo conseguir tu propia animadora en Mac con Ruby. Lo que haremos será hacer que nuestro ordenador, con una orden como:


ruby cheerleader.rb Serabe

Nos muestre por pantalla:


Dame una S
Dame una E
Dame una R
Dame una A
Dame una B
Dame una E
SERABE!!!

Además, utilizando el comando say de Mac, nos lo dirá (si queréis que lo grite, subid el volumen al máximo).

Empecemos con el código:

  1. string =  ARGV.join(' ')

Aquí simplemente recogemos los parámetros pasados por consola y los concatenamos con un espacio entre medias. Ahora la parte interesante:

  1. string.each_byte do |b|
  2.   if /[a-zA-Z]/ =~ b.chr
  3.     shout = 'Dame una '+b.chr.upcase
  4.     puts shout
  5.     `say #{shout}`
  6.   end  
  7. end

Para cada letra, una vez comprobado que es una letra y no un espacio, construimos un grito (‘Dame una S’), lo imprimimos por pantalla y hacemos que el comando say lo diga.

Finalmente, con un

  1. puts string.upcase + '!!!'
  2.  
  3. `say #{string}`

Imprimimos la última frase.

Ya habéis visto cómo crearos vuestra propia cheerleader. En próximos episodios veremos cómo añadirle autoregeneración como Claire.

Author: Serabe

Mathematician, and Ruby and JavaScript programmer. Sometimes I speak at conferences and local meetups.

Leave a Reply

Your email address will not be published. Required fields are marked *