我看到了这个逻辑,想知道为什么结果是一而不是零:
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。
根据文档,任何赋值的结果都是赋值箭头右侧的值,因此在P ∧← Q
返回Q
时P ← P ∧ Q
返回P ∧ Q
,这也是分配给 的新值:P
赋值(修改)<code>{R}←Xf←Y
(……)
R
是“通过”值,即 的值Y
。如果未分配或使用派生函数的结果,则没有显式结果。
为了获得就地修改的性能优势,在使用新值内联的同时,您可以编写∨/ P ⊣ P ∧← Q