2

我在玩 GNU APL,但我的实验很快就陷入了僵局。这就是发生的事情:

x←1 2 3 4 5
⍝ build the matrix u where u_{ij} = x_i + x_j,
⍝ then filter the entries equal to 6
u←6=x∘.+x

到目前为止一切顺利u,正如预期的那样,是一个翻转的单位矩阵。

现在,我想获取非零条目的索引,所以我尝试

⍸u

但在这里我得到一个SYNTAX ERROR++警告。输入以下任何命令时都会出现相同的错误:

{⍸6=⍵∘.+⍵}x
{⍸6=⍵∘.+⍵} 1 2 3 4 5
{⍸6=⍵∘.+⍵} ⍳5
app←{⍸6=⍵∘.+⍵}

我怀疑这在某种程度上是我本地安装的问题,因为我无法在在线解释器上重现错误。

有人以前见过这个问题吗?我从源代码(ubuntu,GCC)编译了 APL,错误出现在 1.7 和 1.8 版本中。我可以使用 GNU 镜像中提供的预编译二进制文件来重现该错误。我想知道我在编译和安装 GNU APL 时是否犯了错误,但我做的唯一非标准的事情是从 src 文件夹中的 Makefile 中取消设置标志 WERROR,否则由于未检查返回值而无法编译资源。

4

1 回答 1

2
于 2021-06-18T16:06:15.893 回答