我在玩 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,否则由于未检查返回值而无法编译资源。