• [^] # Re: Normal

    Posté par . En réponse au message Fonctionnement du OR. Évalué à 2.

    Hum.. la "définition du OU logique".... la définition est claire et impose que chacun des opérande soit un booléen. Elle n'est pas claire lorsque chaque opérande est elle-même un calcul (notre cas).

    En l'occurrence, c'est plutôt le fait que le calcul de l'opérande droit n'est pas nécessaire à l'obtention du résultat du OU logique dans le ca où le calcul de l'opérande gauche a donné un résultat vrai.

    D'ailleurs, essaie d'écrire une fonction qui réalise la même chose qu'un OU logique (ce comportement paresseux) : tu ne pourras pas (sauf à passer une fonction et l'éxecuter conditionnellement dans la fonction) car lorsque tu passes comme opérande (enfin, là, paramètres de la fonction) tes deux calculs ils seront effectués avant d'être passés à la fonction.

    C'est donc une optimisation dans le langage.