rendered paste bodyobjetos = Hash.newclass Obj def Obj.search(in_desc, objetos) obj_org = Array.new objetos.each do |objeto, desc| cmm = in_desc & desc if (cmm.length > 0) obj_org << "#{cmm.length.to_s}:#{objeto}" end end return obj_org.sort end def Obj.addDesc(objeto, n_desc, objetos) if (objetos[objeto] == nil) objetos[objeto] = n_desc else objetos[objeto] = objetos[objeto] | n_desc end endendloop do print "Descreva o objeto: " desc = gets.chomp.downcase.split(" ") #puts "[debg]Desc: #{desc.inspect}" busca = Obj.search(desc,objetos) #puts "[debg]Busca: #{busca.inspect}" while (busca != []) objeto = busca.pop.split(":")[1] print "Você está falando de um(a) #{objeto}? " resposta = gets.chomp.downcase if (resposta == "sim") puts "=]" Obj.addDesc(objeto,desc,objetos) end end if (busca == []) print "Digite o nome do objeto descrito: " objeto = gets.chomp.to_s.downcase Obj.addDesc(objeto,desc,objetos) print "Objeto \"#{objeto}\" adicionado.\n" #puts "[debg]Objeto: #{objeto} Descrição: #{objetos[objeto].inspect}" endend#while (1==1)# puts "Descreva um objeto pela suas partes, separado por ponto-e-virgula (\';\')"# print "Digite ENTER quando terminar\n:"# input = gets.chomp.to_s.downcase.split(";")# puts input# search = Obj.search(input, objetos)# puts "AAAAAA #{search}"# if (search == [])# puts "Não conheço este objeto."# puts "Do que você está falando?"# obj = gets.chomp.to_s.downcase# Obj.addDesc(obj, input, objetos)# puts "Agora eu conheço o objeto #{obj}!"# else# while (search != [])# puts "Você está falando de #{search.pop}"# end# end#end