elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Comparación de objetos string en Ruby.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Comparación de objetos string en Ruby.  (Leído 807 veces)
bigtio

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Comparación de objetos string en Ruby.
« en: 9 Febrero 2014, 07:28 »

Buenas, estoy tratando de hacer una pequeña aplicación en lenguaje Ruby, esta aplicación lee un archivo txt y genera otro de salida, las dos cosas ya las hace perfectamente, el detalle viene a que dentro de las funciones de la aplicación es comparar si una variable String contiene otra como Substring.

Por ejemplo, la aplicación tiene que validar que la cadena "Prueba" este dentro de la cadena wRtPruebajnm, el problema es que no encuentro como hacerlo, ya intente con la instrucción include?, pero esta solo me funciona cuando comparo la variable directamente con algún string,

Este es mi código:

Código:
# Abre y lee un fichero
# Se usa un bloque: el fichero se cierra
# automáticamente al acabar el bloque.
 
  linea1 = ''
  linea2 = ''
  linea3 = ''
  auxiliar = ''
  auxiliar2 = ''
  auxiliar3 = ''

puts "Leyendo Archivo..."
f = File.open('Archivo1.txt')
  entero = 0
    a = f.readlines
#Recorrer archivo y asignar variables

#Limpiar linea3
linea1 = a[1]
linea2 = a[2]
linea3 = a[3]

for i in(0..linea3.length)
    if(linea3[i,1] != auxiliar2)
   auxiliar3 = auxiliar3 + linea3[i,1]
   auxiliar2 = linea3[i,1]
end
end

linea3 = auxiliar3

puts linea1
puts linea2
puts linea3

# Crea un nuevo fichero, y escribe
File.open('Salida1.txt', 'w') do |f2|
  if linea3.include? linea1
  f2.puts "SI"
  else
  f2.puts "NO"
  end
 
  if linea3.include? linea2
  f2.puts "SI"
  else
  f2.puts "NO"
  end
end

puts "Archivo de salida generado"

El problema esta en esta linea:

if linea3.include? linea1

Asumiendo que linea3 = wRtPruebajnm y linea1 = Prueba la instrucción me regresa falso, mientras que la siguiente instrucción me regresa verdadero:

if linea3.include? "Prueba"

Hay algún modo de utilizar algo similar al Contains() de C# en Ruby, una ayuda porfavor, tengo bastantes horas quebrandome la cabeza con esto.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines