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:
[ruby]
string = ARGV.join(‘ ‘)
[/ruby]

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

[ruby]
string.each_byte do |b|
if /[a-zA-Z]/ =~ b.chr
shout = ‘Dame una ‘+b.chr.upcase
puts shout
`say #{shout}`
end
end
[/ruby]

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

[ruby]
puts string.upcase + ‘!!!’

`say #{string}`
[/ruby]

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 *