我猜这条线:
my $last = $last_game ? 1 : 0;
分配1
给$last
if$last_game
是true
else$last
得到0
。我对么?
谢谢
是的,你是对的,它是一个三元条件运算符。
从perldoc:
三元“?:”是条件运算符,就像在 C 中一样。它的工作原理很像 if-then-else。如果在 ? 为真,返回 : 之前的参数,否则返回 : 之后的参数。例如:
printf "I have %d dog%s.\n", $n,
($n == 1) ? "" : "s";