Quelle est la différence entre =
y :=
en Scala ?
J'ai beaucoup cherché sur Google "scala colon-equals", mais je n'ai rien trouvé de définitif.
Quelle est la différence entre =
y :=
en Scala ?
J'ai beaucoup cherché sur Google "scala colon-equals", mais je n'ai rien trouvé de définitif.
=
en scala est l'opérateur d'assignation proprement dit - il fait une poignée de choses spécifiques sur lesquelles, pour la plupart, vous n'avez pas de contrôle, telles que
val
o var
une valeur lors de sa créationvar
:=
n'est pas un opérateur intégré -- n'importe qui peut le surcharger et lui donner la signification qu'il souhaite. La raison pour laquelle les gens aiment utiliser :=
c'est parce qu'il a l'air très assignable et qu'il est utilisé comme opérateur d'assignation dans d'autres langages.
Donc, si vous essayez de trouver ce que :=
signifie dans la bibliothèque particulière que vous utilisez... mon conseil est de chercher dans les Scaladocs (si elles existent) une méthode nommée :=
.
De Martin Odersky :
Scala permet de surcharger les opérateurs, c'est-à-dire de définir le comportement d'un opérateur de la même manière que vous écrivez une méthode.
Comme dans d'autres langues, =
est un opérateur d'affectation.
Il n'existe pas, à ma connaissance, d'opérateur standard appelé :=
mais j'ai pu en définir un avec ce nom. Si vous voyez un opérateur comme celui-ci, vous devriez vérifier la documentation de ce que vous regardez, ou chercher où cet opérateur est défini.
Il y a beaucoup que vous pouvez faire avec les opérateurs Scala. Vous pouvez essentiellement créer un opérateur à partir de pratiquement tous les caractères que vous souhaitez.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.