6 nov. 2018

Programa - Inicial

# Este programa es un analizador de lo que se mete por teclado
# Arroja dos ficheros sentidos.txt y decisiones.txt
# En realidad es un interface entre la entrada y el paso analizador
=begin
Esta parte del programa es lo que capta por el teclado
Sería el sentido teclado
=end

puts 'Hola, ¿Cómo te llamas?'
STDOUT.flush
@p=gets.strip.to_s

$otro_origen = nil
#puts "esto es $otro_origen=#{$otro_origen}"
@ma=[]
@captado = []
@evaluados = []
@sentidos  = "sentidos.txt"
@evaluado = "evaluado.txt"
@nueva = []
@ahora = Time.now
@hora = @ahora.strftime("%H")
@minuto = @ahora.strftime("%M")
@segundo = @ahora.strftime("%S")
@dia = @ahora.strftime("%d")
@mes = @ahora.strftime("%m")
@year = @ahora.strftime("%Y")

def xf
if File.exist?(@sentidos)
puts
#puts "El fichero necesario #{@sentidos} existe"
else
puts "No existia el archivo y ha sido creado sin contenido"
f=File.new @sentidos,"a+"
#puts "El fichero necesario #{@sentidos} ya existe"
f.close
end

if File.exist?(@evaluado)
#puts "El fichero necesario #{@decisiones} existe"
else
puts "No existia el archivo y ha sido creado sin contenido"
f=File.new @evaluado,"a+"
puts "El fichero necesario #{@evaluado} ya existe"
f.close
end
end
xf

=begin
Esta parte del programa busca lo que capta por el teclado
en un fichero sentidos.txt
y si lo tiene nos informa y continúa
si no lo tiene procederá a guardarlo en el siguiente paso
=end
def primero
fab=File.open("sentidos.txt", "a+")
@l=0
fab.each do |a|
#puts "Esto es a = #{a} de la clase #{a.class} con longitud de #{a.size}"
@ma=a.split(" ")
#puts "Esto es @ma = #{@ma} de la clase #{@ma.class} con longitud de #{@ma.size}"
#puts "Esto es @ma[0] = "+@ma[0]+" de la clase #{@ma[0].class} con longitud de #{@ma[0].size}"
s=@ma[0].to_s
#puts "Esto es s = #{s} con longitud de #{s.size}"
#limpiamos el array @ma porque tiene comillas, coma y [
menos = s.size-2
@quiero = s[2...menos] #ahora sólo se queda con lo que interesa
#puts "esto es @quiero = #{@quiero} y ésto es @p = #{@p} de la clase #{@quiero.class}"
#puts "@l = #{@l}"
if @p === @quiero
#puts "HAY COINCIDENCIA y no grabaré el nombre"
@l=1
end
end
fab.close
#puts "                         @l = #{@l}"


case @l
when 0
puts "Esto es bueno o malo (escribe bueno o malo)"
STDOUT.flush
@primeraimpresion = gets.chomp.upcase.to_s
puts "has esxrito #{@primeraimpresion}"
if @primeraimpresion != "BUENO" || @primeraimpresion != "MALO"
puts 'lo tomaré como bueno'
@primeraimpresion = "BUENO"
end
@evaluados<<@primeraimpresion
@evaluados<<@p
@evaluados<<@hora
@evaluados<<@minuto
@evaluados<<@dia
@evaluados<<@mes
@evaluados<<@year



@captado<<@p
@captado<<@hora
@captado<<@minuto
@captado<<@segundo
@captado<<@dia
@captado<<@mes
@captado<<@year

puts 'Como no ha habido ninguna coincidencias lo grabo en sentidos.txt'
faa=File.open("sentidos.txt", "a+")
faa.print @captado
faa.puts
faa.close

puts 'Como no ha habido ninguna coincidencias lo grabo en sentidos.txt'
faaa =File.open("evaluado.txt", "a+")
faaa.print @evaluados
faaa.puts
faaa.close
when 1
puts "HAY alguna COINCIDENCIA y no grabaré nada en sentidos.txt"
@ll=1
end
end

puts "Hola #{@p}, son las #{@ahora.strftime("%H:%M:%S")} de la fecha #{@ahora.strftime("%d-%m-%Y")}"

primero