Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[R]Différence entre 2 set /a
Auteur Message
Répondre en citant
Message [R]Différence entre 2 set /a 
Bonjour à tous !

Je me posais la question car je connaissait les 2, mais quelle est la différence (hormis la syntaxe) de :
Code:

set /a var=%var%+1
set /a var+=1


Pour ma part, j'utilise expressément la première (habitude) mais je me posais la question de savoir si il y a une quelconque différence entre ces 2 syntaxes, comme par exemple les performance Wink

@ ++ Okay Wink



Dernière édition par Xenoxis le Ven 13 Mai 2016 - 06:07; édité 1 fois

______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [R]Différence entre 2 set /a 
J'utilise habituellement la 2ème si c'est possible!
Et je pense que niveau performances, la 2e devrait logiquement aller plus vite, mais peut être pas beaucoup plus si c'est le cas Okay




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message [R]Différence entre 2 set /a 
Aucune difference en BATCH.

Mais dans d'autres langage il faut faire attention car la variable n'est
pas automatiquement defini comme INTEGER contrairement au BATCH.

en JS par exemple :

Code:
var val = "1";
val += 1;
alert("val egal : "+ val)


va retourner => 11

Vous pouvez tester ici :

https://jsfiddle.net/w6h8seqy/

Pour éviter ce genre de problème on ajoutera donc une securité pour les
traitement purement mathematique :

Code:
var val = "1";
val = parseInt(val);
val += 1;
alert("val egal : "+ val);


Okay



Dernière édition par sachadee le Ven 13 Mai 2016 - 00:17; édité 1 fois

______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [R]Différence entre 2 set /a 
sachadee a écrit:
Aucune difference en BATCH.

Mais dans d'autres langage il faut faire attention car la variable n'est
pas automatiquement defini comme INTEGER contrairement au BATCH.

en JS par exemple :

Code:
var val = "1";
val += 1;
alert("val egal : "+ val)


va retourner => 11

Vous pouvez tester ici :

https://jsfiddle.net/w6h8seqy/

Donc pour éviter ce genre de problème on ajoutera donc une securité pour les
traitement purement mathematique :

Code:
var val = "1";
val = parseInt(val);
val += 1;
alert("val egal : "+ val);


Okay


Aucune différence ?! Même pas un peu niveau performance ?
Sinon merci de l'info
@++ Okay Wink




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Répondre en citant
Message [R]Différence entre 2 set /a 
Un petit test rapide :

Code:
@echo off
setlocal enabledelayedexpansion

set val=1
echo !time!
for /l %%a in (1,1,300000) do set /a val=!val!+1
echo !time!

echo --------

set val=1
echo !time!
for /l %%a in (1,1,300000) do set /a val+=1
echo !time!



Apparement un petit avantage pour l'operateur +=


Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [R]Différence entre 2 set /a 
sachadee a écrit:
Un petit test rapide :

Code:
@echo off
setlocal enabledelayedexpansion

set val=1
echo !time!
for /l %%a in (1,1,300000) do set /a val=!val!+1
echo !time!

echo --------

set val=1
echo !time!
for /l %%a in (1,1,300000) do set /a val+=1
echo !time!



Apparement un petit avantage pour l'operateur +=


Okay


Ok merci, j'ai pas pensé à faire un test avec for ...
@++ Okay Wink




______________________________________________________
Coucou, tu veux voir mon Site Web ?? Mort de Rire
Visiter le site web du posteur Skype
Message [R]Différence entre 2 set /a 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch