-3

我猜这条线:

  my $last = $last_game ? 1 : 0;

分配1$lastif$last_gametrueelse$last得到0。我对么?

谢谢

4

2 回答 2

1

是的,你是对的,它是一个三元条件运算符。

perldoc

三元“?:”是条件运算符,就像在 C 中一样。它的工作原理很像 if-then-else。如果在 ? 为真,返回 : 之前的参数,否则返回 : 之后的参数。例如:

printf "I have %d dog%s.\n", $n,
    ($n == 1) ? "" : "s";
于 2013-07-12T11:11:37.460 回答
1

它是一个三元条件运算符。它像

条件 ?那么:否则

如果条件 COND 为真,则仅计算 THEN 表达式,并且该表达式的值成为整个表达式的值。否则,只计算 ELSE 表达式,其值成为整个表达式的值。

于 2013-07-12T11:11:56.633 回答