• Publicidad

Operador splice

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Operador splice

Notapor explorer » 2012-03-22 15:25 @684

Bienvenida a los foros de Perl en Español, Patricia.

El operador splice() se aplica a array. Y el array que estás modificando con splice() guarda las líneas leídas del archivo 'bacillus.adn', una línea por cada elemento del array.

Como vemos, el archivo no tiene 30 líneas, así que el efecto de splice() es "crear" un elemento 30 en el array, y meter ahí tu nombre. Por eso parece que sale "al final" (en realidad, los elementos del 10 al 29 son nulos o indefinidos, por eso no los ves).

Lo que te piden es que pongas tu nombre en la posición 30 de toda la secuencia.

Además de leer todas las líneas, como has hecho, debes unirlas, para formar una única cadena de caracteres.

Y a continuación, con substr() (no con splice()), ya puedes meter tu nombre dentro de la secuencia (provocando un mutación genética al pobre bacilo, de consecuencias imprevisibles ;) ).

Más información en
  • perldoc -f splice
  • perldoc -f substr
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: Operador splice

Notapor explorer » 2012-03-22 16:19 @721

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $reemplazo = 'Carolina';
  2. substr($secuencia_ADN, 30, length $reemplazo) = $reemplazo;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Tienes más ejemplos en perldoc -f substr

Atención: la primera posición en la $secuencia_ADN es la 0, no la 1, así que cuando ponemos 30, es la posición trigésimo primera.
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: Operador splice

Notapor explorer » 2012-03-22 16:40 @736

Perdón, me he equivocado.

Dices que tienes que 'insertar' tu nombre. Y el ejemplo que te he puesto lo que hace es 'reemplazar'.

Esto es lo correcto:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $nombre = 'Carolina';
  2. substr($secuencia_ADN, 30, 0) = $nombre;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Con esto, la secuencia aumenta en 8 caracteres.
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


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 1 invitado