Je suis deviner que cette ligne:Perl - Que fait cette déclaration?
my $last = $last_game ? 1 : 0;
assigne 1
-$last
si $last_game
est true
autrement $last
obtient 0
. Ai-je raison?
Merci
Je suis deviner que cette ligne:Perl - Que fait cette déclaration?
my $last = $last_game ? 1 : 0;
assigne 1
-$last
si $last_game
est true
autrement $last
obtient 0
. Ai-je raison?
Merci
Oui, vous avez raison, il est un opérateur conditionnel ternaire.
De perldoc:
ternaires ":" est l'opérateur conditionnel, comme en C. Il fonctionne comme un if-then-else. Si l'argument avant le? est vrai, l'argument avant le: est retourné, sinon l'argument après le: est retourné. Par exemple:
printf "I have %d dog%s.\n", $n,
($n == 1) ? "" : "s";
Il est un ternary Conditional operator. Cela fonctionne comme
COND? ALORS: AUTRE
Si la condition COND est vrai, seule la THEN expression est évaluée, et la valeur de cette expression devient la valeur de l'expression entière. Sinon, seule l'expression ELSE est évaluée et sa valeur devient la valeur de l'expression entière.
oui correct, pourquoi vous ne l'essayez pas, btw vous assignant simplement des entiers pas la chaîne '1' pas'''' –
Bien que si vous êtes intéressé à attribuer '0,1', alors vous pourriez simplement faites comme: 'my $ last = $ last_game || 0; ' –
Cette question semble être hors sujet car elle est triviale OUI | AUCUNE question. –