涉及赋值的表达式的意外值
Unexpected value of expression involving assignment
我看到了这个逻辑,想知道为什么结果是 1 而不是 0:
P ← 1 1 0
Q ← 0 0 1
∨/ P ∧← Q
1
另一方面,以下结果为零:
P ← 1 1 0
Q ← 0 0 1
∨/ P ← P ∧ Q
0
我正在使用 Dyalog APL 16。
any赋值的结果是赋值箭头右边的值,所以P ∧← Q
returnsQ
而P ← P ∧ Q
returns P ∧ Q
这也是分配给 P
的新值,根据 the documentation:
Assignment (Modified) {R}←Xf←Y
(…)
R
is the “pass-through” value, that is, the value of Y
. If the result of the derived function is not assigned or used, there is no explicit result.
要获得就地修改的性能优势,同时使用内联新值,您可以编写 ∨/ P ⊣ P ∧← Q
我看到了这个逻辑,想知道为什么结果是 1 而不是 0:
P ← 1 1 0
Q ← 0 0 1
∨/ P ∧← Q
1
另一方面,以下结果为零:
P ← 1 1 0
Q ← 0 0 1
∨/ P ← P ∧ Q
0
我正在使用 Dyalog APL 16。
any赋值的结果是赋值箭头右边的值,所以P ∧← Q
returnsQ
而P ← P ∧ Q
returns P ∧ Q
这也是分配给 P
的新值,根据 the documentation:
Assignment (Modified)
{R}←Xf←Y
(…)
R
is the “pass-through” value, that is, the value ofY
. If the result of the derived function is not assigned or used, there is no explicit result.
要获得就地修改的性能优势,同时使用内联新值,您可以编写 ∨/ P ⊣ P ∧← Q