このトピックが何度も取り上げられていることは承知していますが、少々お待ちください。
評価の順序の文脈でも、これを何度も理解しようとしました。opを理解するための明示的な例を探していました。http://docs.roxen.com/pike/7.0/tutorial/expressions/operator_tables.xml私が知りたいのは、そこに示されている例 (以下にカットアンドペーストしました)が正しい。
1+2*2 => 1+(2*2)
1+2*2*4 => 1+((2*2)*4)
(1+2)*2*4 => ((1+2)*2)*4
1+4,c=2|3+5 => (1+4),(c=(2|(3+5)))
1 + 5&4 == 3 => (1 + 5) & (4 == 3)
c=1,99 => (c=1),99
!a++ + ~f() => (!(a++)) + (~(f()))
s == "klas" || i < 9 => (s == "klas") || (i < 9)
r = s == "sten" => r = (s == "sten")
たとえば、C の仕様によれば、does1+2*2*4
は実際にそうである1+((2*2)*4)
か、そうであった可能性があります。1+(2*(2*4))
ヘルプや例へのさらなる参照は役に立ちます。再度、感謝します。