Concaténation, choix syntaxe

Bonjour à tous,

Dans ses exemples, pour concaténer, Maxime semble privilégier la syntaxe “(variable)”.

Par exemple :
print(“Bonjour, je suis \(self.prenom) \(nom)”)

J’ai beaucoup pratiqué VBA, où l’opérateur de concaténation est “&”. Peut-être pour cette raison (et le fait que l’antislash nécessite de recourir à une combinaison de 3 touches), il me semble plus naturel d’écrire :
print("Bonjour, je suis " + self.prenom + " " + nom)

3 hypothèses me viennnent à l’esprit pour expliquer le choix de la syntaxe “(variable)” :

1 - Ne pas avoir à vérifier que les éléments à concaténer sont tous du même type.
2 - Plus grande vitesse d’exécution.
3 - Simple préférence personnelle.

Est-ce que l’une de ces hypothèses au moins est la bonne ?

Cordialement,

Moi j’écris :

print (« Bonjour, je suis », self.prenom, « « , self.nom)

Ton hypothèse 3 est la bonne …

Merci pour ta réponse.

En outre, elle me fait découvrir qu’on peut se passer des “+” en séparant les éléments à concaténer par une virgule.

Cette raison a son importance aussi car si tes variables ne sont pas uniquement des String, alors les + ne fonctionnent pas.
Par exemple si tu veux concaténer une chaîne avec un entier, seule la syntaxe du (monEntier) fonctionnera en Swift.

Il y a aussi la vitesse de frappe, sur un clavier français tu as besoin d’une combinaison de 3 touches pour l’antislash, je l’ai en accès direct sur mon clavier US. Si tu comptes les espaces tu tapes entre 4 et 8 caractères en faisant les + alors que je n’en tape que 3 avec les antislashs.

1 « J'aime »

A moins d’utiliser String() pour caster (transformer) l’entier en une chaîne.

let valeur = 1456
print( "Valeur : " + String(valeur))

Ce n’est pas vraiment un cast mais une création d’une nouvelle chaîne de caractères basée sur le paramètre reçu (les casts s’expriment avec as en Swift). Dans ce cas on a bien uniquement des String et le + marchera sans problème.
Mais du coup c’est beaucoup plus long à taper :slight_smile:

Merci de ta réponse. Le premier atgument, ne pas devoir se préoccuper du types des différents éléments à concaténer me paraît le plus convainquant.

Par contre, si le clavier US simplifie la saisie de l’antislash, il doit compliquer celle de tous les catactères accentués, non ? Or on s’en sert bien plus que l’antislash, il me semble. J’ai toujours beaucoup commenté mon code, et je ne suis pas prêt à renoncer aux accents. Ils peuvent également être nécessaires dans les invites à l’utilisateur, et dans du texte à afficher à l’écran (labels, listes, boutons, …).

En ce qui me concerne, je garde le clacier de mon MacBook Pro 15 pouces. Mais c’est anecdotique. Merci encore pour le cours et le forum.