我猜这一行:
my $last = $last_game ? 1 : 0;
如果1
为$last
,则将$last_game
分配给true
,否则$last
获得0
。我是对的吗?
由于
答案 0 :(得分:1)
是的,你是对的,它是一个三元条件运算符。
来自perldoc:
三元“?:”是条件运算符,就像在C中一样。它的工作方式与if-then-else非常相似。如果之前的论点?如果是,则返回:之前的参数,否则返回:之后的参数。例如:
printf "I have %d dog%s.\n", $n,
($n == 1) ? "" : "s";
答案 1 :(得分:1)
这是ternary Conditional operator。它就像
一样COND?然后:ELSE
如果条件COND为true,则仅计算THEN表达式,并且该表达式的值将成为整个表达式的值。否则,仅计算ELSE表达式,并且其值将成为整个表达式的值。