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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: ¿Incrementar de a 1 un formato "versión"?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Incrementar de a 1 un formato "versión"?  (Leído 2,538 veces)
Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
[Pregunta]: ¿Incrementar de a 1 un formato "versión"?
« en: 29 Noviembre 2019, 04:16 am »

Buenas noches,

me preguntaba como podía incrementar de 1 en 1 un "numero" en formato "versión"...
si yo tuviera el valor 4 y les dijera que voy a incrementarlo en 1 el resultado sería 5, si yo les dijera que tiviera el valor 999 y lo voy a incrementar en 1 el valor seria 1.000 (respetando el punto) pero si yo les dijera que tengo la "v1.3.1" y tengo que aumentar a 1 sería "v1.3.2"

Ya creo que se entendió xD
solamente no se como puedo incrementar este valor que ni siquiera es un valor es algo que se me ocurrió.. xD


En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: [Pregunta]: ¿Incrementar de a 1 un formato "versión"?
« Respuesta #1 en: 29 Noviembre 2019, 13:24 pm »

Código
  1. var v = ["V",".","0",".","0",".","0",".","0",".","1"];
  2. var x = parseInt(v[10]);
  3. ++x;
  4. v[10] = x.toString();
  5. alert(v.join(''));

1.Declaro array.
2.Obtengo el último elemento del array "1", lo convierto en int 1 (pasa de ser un texto(string) a un numero(int) y lo guardo en la variable x.
3.Aumento el valor de la variable x con el operador de pre-incremento.
4.Casteo el nuevo valor int 2 de x en string "2". Lo asigno al último elemento del array.
5.Lo muestro elminando las comas del array en el output.

Lo puedes hacer de muchas otras formas.

PD: Si quieres que aumente el penúltimo al llegar a 1000:
Código
  1. /* En vez de v[10] usa v[i]. */
  2. var i = 10;
  3. var v = ["V",".","0",".","0",".","0",".","0",".","1"];
  4. var x = parseInt(v[i]);
  5. ++x;
  6. if (x === 1000)
  7. {
  8. x = 1;
  9. i -=2;
  10.  
  11.   if (i === 0)
  12.   {
  13.   i = 10;
  14.   }
  15.  
  16. }
  17. v[i] = x.toString();
  18. alert(v.join(''));

Ahora lo que hace es que si el numero llega a 1000, se ponga a 0 y se moifique la versión anterior. Ejemplo V.0.0.0.0.999 le sumas 1 y pasa a ser V.0.0.0.1.0
En el segundo if si se llega a la V sez vuelve a empezar por el último dígito. También puedes añadir un nuevo punto y número al final. No sé si la implementación está bien, es por mostrar la lógica más que nada.

Tienes que añadirle un par de cosas más para que funcione exactamente como lo quieres. Si lo haces con funciones te es fácil acabar la implementación.


« Última modificación: 29 Noviembre 2019, 13:57 pm por @?0!,5^34 » En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Leguim


Desconectado Desconectado

Mensajes: 720



Ver Perfil
Re: [Pregunta]: ¿Incrementar de a 1 un formato "versión"?
« Respuesta #2 en: 30 Noviembre 2019, 04:57 am »

¡Wuau te luciste, gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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