Surcharge variable en swift

Bonjour,

Pour un générateur de code, je dois afficher une variable de bool surchargé

override var allowsVibrancy: Bool { return true }

ou

override var allowsVibrancy: Bool { get { return true } }

Le résultat est le même mais j'aimerais connaitre

parmi les deux codes, lequel est la plus standard si je peux dire ainsi ?

Merci

Réponses

  • CéroceCéroce Membre, Modérateur

    La première forme est plus standard.
    La deuxième forme est obligatoire si tu as un set { }.

    Personnellement, j'écrirais juste:
    override var allowsVibrancy: Bool { true }
    parce que c'est ainsi qu'on procède en programmation fonctionnelle, mais c'est sans doute moins clair pour la plupart des programmeurs.

  • @Céroce a dit :
    La première forme est plus standard.
    La deuxième forme est obligatoire si tu as un set { }.

    Personnellement, j'écrirais juste:
    override var allowsVibrancy: Bool { true }
    parce que c'est ainsi qu'on procède en programmation fonctionnelle, mais c'est sans doute moins clair pour la plupart des programmeurs.

    Merci pour le truc, je connaissais pas ;)

  • Joanna CarterJoanna Carter Membre, Modérateur
    novembre 2020 modifié #4

    @devulder a dit :
    Merci pour le truc, je connaissais pas ;)

    Si on n'a qu'une ligne de code dans une fonction ou un closure, on peut oublier le mot "return"

  • @Céroce a dit :smile:
    Personnellement, j'écrirais juste:
    override var allowsVibrancy: Bool { true }
    parce que c'est ainsi qu'on procède en programmation fonctionnelle, mais c'est sans doute moins clair pour la plupart des programmeurs.

    Je savais que cela fonctionnais en Swift, mais c'est une formulation utilisable avec d'autres langages alors ?

  • Joanna CarterJoanna Carter Membre, Modérateur

    @Draken a dit :
    Je savais que cela fonctionnais en Swift, mais c'est une formulation utilisable avec d'autres langages alors ?

    Peut-être ;)

  • CéroceCéroce Membre, Modérateur

    @Draken a dit :
    Je savais que cela fonctionnais en Swift, mais c'est une formulation utilisable avec d'autres langages alors ?

    Ça a l'air d'être le cas en Scala, dont Swift est grandement inspiré.

    Dans les langages fonctionnels, il n'y a généralement pas d'équivalent au return. Une fonction prend des paramètres d'entrée et renvoie toujours une valeur. Comme en maths.

    Ex. en Elm: (je vous ai dit que j'aimais beaucoup Elm?)

    square : Float -> Float
    square x =
        x * x
    

    Une «fonction» ne provoque pas d'effets de bords, elle ne modifie pas d'état. On parle de «procédure» autrement.

  • @Céroce a dit :

    Une fonction prend des paramètres d'entrée et renvoie toujours une valeur. Comme en maths.

    Et si je demande la racine carrée de -1, elle donne quoi comme valeur, la fonction ?

  • CéroceCéroce Membre, Modérateur

    i en maths.
    j en physique.

  • @Céroce a dit :
    i en maths.
    j en physique.

    Ouais, je sais. J’en assez bouffé du j dans les équations de circuits électroniques à l’école. Mais je ne suis pas certain qu’une bibliothèque mathématique de base puisse manipuler les nombres complexes.

Connectez-vous ou Inscrivez-vous pour répondre.