1

我看到了这个逻辑,想知道为什么结果是一而不是零:

      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。

4

1 回答 1

3

根据文档,任何赋值的结果都是赋值箭头右侧的值,因此在P ∧← Q返回QP ← P ∧ Q返回P ∧ Q,这也是分配给 的新值:P

赋值(修改)<code>{R}←Xf←Y

(……)

R是“通过”值,即 的值Y。如果未分配或使用派生函数的结果,则没有显式结果。

为了获得就地修改的性能优势,在使用新值内联的同时,您可以编写∨/ P ⊣ P ∧← Q

于 2021-10-13T09:52:33.903 回答