1
votes

Ces lignes de code scala sont-elles équivalentes?

Étant donné un objet myObject qui a une méthode getSomething qui prend un paramètre String et renvoie une String

Les numéros 1 et 2 sont-ils équivalents?

  1. val foo = monOjbect.getSomething ("foo")

  2. val foo = myOjbect getSomething "foo"

Et sont-ils acceptables / préférés par rapport à l'autre? Quand utiliseriez-vous 1 vs 2 et vica versa?


0 commentaires

3 Réponses :


2
votes
  1. Oui, ils sont identiques.
  2. Il n'y a pas de consensus (je ne pense pas qu'il soit possible d'en arriver à un) quelle forme est préférable (ces questions sont hors sujet ici).

0 commentaires

6
votes

Ils sont strictement équivalents.

En ce qui concerne votre deuxième question, Stack Overflow n'a pas vraiment pour but de décider de ce qui est acceptable ou préféré. Pourtant, vous pouvez vous référer à la documentation scala sur l'invocation de méthode qui indique ceci :

Scala a une syntaxe spéciale sans ponctuation pour appeler des méthodes qui acceptent un argument. De nombreux programmeurs Scala utilisent cette notation pour les méthodes à nom symbolique:

// recommended
names.mkString(",")

// also sometimes seen; controversial
names mkString ","

mais évitez-le pour presque toutes les méthodes alphabétiques:

// recommended
a + b

// legal, but less readable
a+b

// legal, but definitely strange
a.+(b)


1 commentaires

la documentation liée à, et les exemples fournis, m'aident certainement à l'éclaircir. Merci.



2
votes

Oui, ils sont identiques. J'utilise principalement la 2ème version pour développer des tests comme:

result mustEqual "Hello"


0 commentaires