Différence entre + et & :: concaténation de chaîne

Différence entre + et & :: concaténation de chaîne

Messagepar oguruma » 23 Nov 2009 à 14:59

exemple 1
dim A as string
dim B as integer
dim C as string

A="lapins"
B=2
c= B + " " + A
==> provoquera une erreur
il faut donc faire
c= cstr(B) + " " + A
=> OK

on peut aussi fare
c= str$(B) + " " + A
mais le str$() ajout un blanc de tête pour la gestion du signe - ici transparent car comme en math le signe est ignoré par défaut sauf dans l'ensemble Z où le spécifie

dans les view basic (le basica ou gwbasic)le cstr n'existait et on se faisait tous un bon vieux DefFN cstr=(.........) [années 80....]

ou
c= B & " " + A
==> OK le & fait conversion de B en alpha
Bien à vous

http://www.dominoarea.org/oguruma/

Les téléphones PORTABLES dans les TGV y en a MARRRE de ces voyageurs qui ne respectent pas les autres ! ARRET DES PORTABLES SVP - Merci

Fumeurs ! respectez les non fumeurs !!!
Fumeurs ! respectez la loi de février 2007 et les lieux publics !!! (ie. hall de gares)
Avatar de l’utilisateur
oguruma
Super V.I.P.
Super V.I.P.
 
Message(s) : 4086
Inscrit(e) le : 16 Déc 2004 à 08:50
Localisation : LILLE

Messagepar Jérome Deniau » 26 Nov 2009 à 23:57

Voui mais côté perf:
cstr(B) + A est 1000000 fois plus performant que B & A
car dans B & A, LotuSscript va:
- Analyser le type des toutes les variables de l'expression
- Convertir toutes les variables en chaine si nécessaire, mais comme il est nul, il va les transformer en variant contenant des chaînes
- les concaténer

Avec le Plus, ben il fait plus....... si chaine + chaine cela fait chaine si double +chaine = se gauffre, si nombre +variant (si variant peut être convertit en nombre on a nombre sinon on gauffre (NAN)).
Jérome Deniau
 

Messagepar oguruma » 04 Déc 2009 à 10:51

il est évident parfois que les choses les plus simples se paient et tout à un prix il faut donc fixer le niveau de perf attendu
si c'est dans l'affichage d'un simple message d'erreur le & convient bien
bien sûr si des concaténations en masse dans une boucle de traitement qui explore des milliers de documents, je suis bien d'accord avec toi que + et cstr est recommandé et c'est aussi ma méthode

le but était de répondre à la question posé

je pense que tout est dit sur ce sujet
Bien à vous

http://www.dominoarea.org/oguruma/

Les téléphones PORTABLES dans les TGV y en a MARRRE de ces voyageurs qui ne respectent pas les autres ! ARRET DES PORTABLES SVP - Merci

Fumeurs ! respectez les non fumeurs !!!
Fumeurs ! respectez la loi de février 2007 et les lieux publics !!! (ie. hall de gares)
Avatar de l’utilisateur
oguruma
Super V.I.P.
Super V.I.P.
 
Message(s) : 4086
Inscrit(e) le : 16 Déc 2004 à 08:50
Localisation : LILLE


Retour vers Divers