9
有谁知道为什么Perl的时期VS逗号操作
print "$str is " , ispalindrome($str)?"":" not" , " a palindrome\n"
打印 “夫人是一个回文”
但
print "$str is " . ispalindrome($str)?"":" not" . " a palindrome\n"
打印 “1”?
有谁知道为什么Perl的时期VS逗号操作
print "$str is " , ispalindrome($str)?"":" not" , " a palindrome\n"
打印 “夫人是一个回文”
但
print "$str is " . ispalindrome($str)?"":" not" . " a palindrome\n"
打印 “1”?
条件运算符(? :
)具有比逗号但比周期下更高的优先级。因此,第一行被解析为:
print("$str is " , (ispalindrome($str) ? "" : " not"), " a palindrome\n")
,而第二被分析为:
print(("$str is " . ispalindrome($str)) ? "" : (" not" . " a palindrome\n"))
后者行应实际打印“”,而不是“1”,虽然;是,其实你得到了什么?
感谢在清除起来,是的,我确实得到“”,而不是“1” –