「Beginning Perl」という本を読んでいるのですが、次の 2 つのステートメントが書かれています。
print "Test one: ", 6 > 3 && 3 > 4, "\n";
print "Test two: ", 6 > 3 and 3 > 4, "\n";
最初の行は改行なしで何も出力せず、2 行目は改行なしで 1 を出力します。
出力について混乱しています。著者によると、2 番目のステートメントは次のように言って奇妙な出力を示します。
print ("Test two: ", 6 > 3) and 3 > 4, "\n";
しかし、最初のステートメントが同じでないのはなぜですか? 印刷の優先順位と関係があると思いました。&& は print よりも優先順位が高いため、最初に評価されてから出力されます。「and」は print よりも優先順位が低いため、6 > 3 が出力されますが、print は 1 を返し、それが「and」で評価されます。しかし、これは本当に意味がありません。
リスト演算子の優先順位がどのように機能するかについて Perl のドキュメントを読みましたが、この例をまだ理解していません。2 つのステートメントを分析して、最初に出力されるものを教えてください。また、Perl のドキュメントで、リスト演算子が「左方向」および「右方向」であると言及されている場合の意味を説明できますか? ありがとう。
皆様、ご回答ありがとうございます。私は今それを理解しています。私は確かにcjmが言ったことをやっていて、左向きと右向きのリスト演算子があると思っていました。意味がわかったので、全体を理解しました。