繁体   English   中英

GNU APL中的大括号

[英]Braces in GNU APL

我在Linux 2.6.32上使用GNU APL 1.1 (svn 4460) ,我在函数定义方面遇到了一些问题。

此代码段按预期工作:

∇R←ODD N
R←2|N
∇

(ODD L)/L←⍳10

但是当我试着这个

{2|⍵} 5

或这个

ODD←{2|⍵}

我收到语法错误。 相同的片段在这里运行良好。

我是APL的初学者。 有人能解释一下导致这种语法错误的原因吗?

您的第一个示例使用传统的APL“del”表示法来定义函数。 后两个例子使用直接定义(通常称为dfns - 发音为dee-funs),这是Dyalog APL的扩展,显然不会在你正在使用的解释器中运行。 以这种方式定义功能的便利性是一个很大的优势。

所有APL都不支持dfns(花括号中的函数片段)语法。 如果不支持,则会出现语法错误或nonce错误。

据我所知,只有Dyalog APL和NGN APL(见http://ngn.github.io/apl/web/ )支持它。

Sharp APL有一个直接的定义功能,但语法却截然不同。

NGN APL不支持传统功能定义,仅支持dfns。

GNU APL现在支持这样的dfns; 您可以通过从subversion存储库编译它或等待版本1.3来尝试它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM