• Publicidad

Cruzar dos listas

Perl aplicado a la bioinformática

Re: Cruzar dos listas

Notapor explorer » 2011-02-23 10:19 @472

Ya he modificado el código.

He puesto un last al final del bucle, para que lo termine en caso de haber encontrado una posición dentro del rango.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Re: Cruzar dos listas

Notapor pvaldes » 2011-02-23 10:45 @489

> Como no puedo averiguar cuál es automáticamente, prefiero asignarle el primero que aparezca

¿Quizá usar el trozo más pequeño de los dos?
pvaldes
Perlero nuevo
Perlero nuevo
 
Mensajes: 129
Registrado: 2011-01-22 12:56 @580

Re: Cruzar dos listas

Notapor danusol » 2011-02-23 13:34 @607

pvaldes escribiste:> Como no puedo averiguar cuál es automáticamente, prefiero asignarle el primero que aparezca

¿Quizá usar el trozo más pequeño de los dos?


Gracias pvaldes, ¿te refieres al ID que tenga el intervalo más pequeño? Sin tener todos los datos no puedo elegir entre uno u otro, y cualquier elección tiene el 50% de ser correcta con la información a mano, por eso prefiero no complicar el programa y que coja el primero que encuentre.

explorer escribiste:He puesto un last al final del bucle, para que lo termine en caso de haber encontrado una posición dentro del rango


Explorer, esa solución es buena y parece que ahora no me mete esos duplicados. Gracias. Pero ¿por qué hay que incluir otro last si ya había uno anteriormente? ¿no tendría que hacer la misma función?
danusol
Perlero nuevo
Perlero nuevo
 
Mensajes: 46
Registrado: 2010-04-22 07:08 @339

Re: Cruzar dos listas

Notapor explorer » 2011-02-23 13:54 @620

No, el primer last() es porque la posición a analizar queda fuera del rango (la posición es superior al $final). Y como sabemos que las posiciones están ordenadas numéricamente, las siguientes posiciones también estarán fuera del rango. Por eso, no merece la pena seguir buscando, y salimos inmediatamente.

En cambio, el segundo last() es porque ya hemos encontrado una posición (hemos hecho el say()), así que hemos terminado de encontrar una posición dentro del rango, por lo que no es necesario seguir buscando. Y salimos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Cruzar dos listas

Notapor danusol » 2011-03-04 06:35 @316

Muchas gracias, explorer y pvaldes, por vuestra ayuda. El resultado es muy bueno.

Un saludo y hasta otra.

D.
danusol
Perlero nuevo
Perlero nuevo
 
Mensajes: 46
Registrado: 2010-04-22 07:08 @339

Anterior

Volver a Bioinformática

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados