Discurso eterno

Hace un tiempo que estoy tratando de revivir el pequeño programador que vivía en mi.
Tenía un mini-coder en mi cabeza que vió y vivió QBasic, FoxPro y dBase, Pascal, Cobol, y luego VisualBasic, VisualFox, Smalltalk y Java.

Luego de varios desencantos y desatinos, mi pequeño programador se conformó con usar la lógica aprendida para hacer pequeños bash scripts que me ayudaran en diversas actividades con GNU/Linux.

El pobre está algo herrumbrado, mal acostumbrado a no moverse.

Así que quise darle una sorpresa y empecé a buscar opciones para aprender algo nuevo. Tal vez, PHP, Python o porqué no Ruby.

Luego de mucho meditar, me incliné por Ruby.

Leí, investigué, estudié y me ayudaron otro poco… Lo bueno es que pasé del “hola mundo” a manejarme bastante bien por el nuevo lenguaje.

Mi pequeño programador está feliz.

Entre las cosas que he ido probando, llegué a poder escribir un breve código que permite generar discursos políticos eternos, como para pasar horas sin decir algo con contenido.

Hay una famosa hoja, la cual consta de cuatro columnas y varias líneas, con la cual se puede tomar cualquier línea al azar de la primera columna y concatenarla con cualquier línea de la segunda, luego la tercera y la cuarta, para formar una oración coherente pero sin contenido alguno… igual a como hablan los políticos.

Les dejo el código en cuestión:

class Speech
  def initialize
   @frase1 = [
   'Queridos compañeros,',
   'Por otra parte, y dados los condicionamientos actuales',
   'Asimismo,',
   'Sin embargo no hemos de olvidar que',
   'De igual manera,',
   'La práctica de la vida cotidiana prueba que',
   'No es indispensable argumentar el peso y la significación de estos problemas ya que',
   'Las experiencias ricas y diversas muestran que',
   'El afán de organización, pero sobre todo',
   'Los superiores principios ideológicos, condicionan que',
   'Incluso, bien pudiéramos atrevernos a sugerir que',
   'Es obvio señalar que',
   'Pero pecarí­amos de insinceros si soslayásemos que',
   'Por último y como definitivo elemento esclarecedor, cabe añadir que'
   ]
   @frase2 = [
   'la realización de las premisas del programa',
   'la complejidad de los estudios de los dirigentes',
   'el aumento constante, en cantidad y en extensión, de nuestra actividad',
   'la estructura actual de la organización',
   'el nuevo modelo de actividad de la organización,',
   'el desarrollo continuo de distintas formas de actividad',
   'nuestra actividad de información y propaganda',
   'el reforzamiento y desarrollo de las estructuras',
   'la consulta con los numerosos militantes',
   'el inicio de la acción general de formación de las actitudes',
   'un relanzamiento especí­fico de todos los sectores implicados',
   'la superación de experiencias periclitadas',
   'una aplicación indiscriminada de los factores confluyentes',
   'el proceso consensuado de unas y otras aplicaciones concurrentes'
   ]
   @frase3 = [
   'nos obliga a un exhaustivo análisis',
   'cumple un rol escencial en la formación',
   'exige la precisión y la determinación',
   'ayuda a la preparación y a la realización',
   'garantiza la participación de un grupo importante en la formación',
   'cumple deberes importantes en la determinación',
   'facilita la creación',
   'obstaculiza la apreciación de la importancia',
   'ofrece un ensayo interesante de verificación',
   'implica el proceso de reestruc-turación y modernización',
   'habrá de significar un auténtico y eficaz punto de partida',
   'permite en todo caso explicitar las razones fundamentales',
   'asegura, en todo caso, un proceso muy sensible de inversión',
   'deriva de una indirecta incidencia superadora'
   ]
   @frase4 = [
   'de las condiciones financieras y administrativas existentes.',
   'de las directivas de desarrollo para el futuro.',
   'del sistema de participación general.',
   'de las actitudes de los miembros hacia sus deberes ineludibles.',
   'de las nuevas proposiciones.',
   'de las direcciones educativas en el sentido del progreso.',
   'del sistema de formación de cuadros que corresponda a las necesidades.',
   'de las condiciones de las actividades apropiadas.',
   'del modelo de desarrollo.',
   'de las formas de acción.',
   'de las básicas premisas adoptadas.',
   'de toda una casuí­stica de amplio espectro.',
   'de los elementos generadores.',
   'de toda una serie de criterios ideologicamente sistematizados en un frente común de actuación regeneradora.'
   ]
  end
  def discurso(num1,num2)
   oracion = case
     when num1 == 0 then @frase1[num2]
     when num1 == 1 then @frase2[num2]
     when num1 == 2 then @frase3[num2]
     when num1 == 3 then @frase4[num2]
   end
   return oracion
  end
end

puts "Instrucciones: Pulse Enter para cada frase o q para salir"
puts " "
puts "Cual es su nombre?"
nombre=gets.chomp()
system('clear')
puts "Les hablará en cadena nacional, el excelentí­simo Señor #{nombre}."
puts " "
politico = Speech.new
tecla=''
parte=1
puts politico.discurso(0,0)
until tecla.strip()=="q"
 STDOUT.flush
 tecla=gets()
 case tecla.strip()
   when 'q'
   puts ".... Ovación y aplausos ...."
   exit
 else
   puts politico.discurso(parte,rand(14))
   parte +=1
 end
 if parte==4
   parte=0
   puts "\n\n"
 end
end

1 comentario (+¿añadir los tuyos?)

  1. Trackback: Articulo Indexado en la Blogosfera de Sysmaya

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Archivos

septiembre 2010
D L M X J V S
« Ago   Oct »
 1234
567891011
12131415161718
19202122232425
2627282930  
A %d blogueros les gusta esto: