标签: apl

APL从Array中删除元素

我是APL的新手.如何从阵列中删除不需要的元素?

例如:

 X?1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)

现在我想删除等于4或6的X元素.我试过了

X?4?X
Run Code Online (Sandbox Code Playgroud)

从X中删除4,但它没有用.提前致谢.

apl

3
推荐指数
2
解决办法
727
查看次数

APL中的圆函数列表是什么?

根据http://www.microapl.co.uk/apl/APL1_2.PDF,在¯12和12之间有圆函数,例如函数1、2、3分别是sincostan。我在这个参考资料中找到了函数 ¯7 到 7。但是,我没有找到函数 8 到 12(以及它们的倒数)。有人能指点一下它们是什么吗?

apl

3
推荐指数
2
解决办法
592
查看次数

是否有APL程序的文件类型?

有没有办法打开文本编辑器,键入一些APL代码,将其保存为文件,然后在Dyalog或MicroAPLX中打开它来执行代码?或者那是什么工作空间?

apl

3
推荐指数
2
解决办法
1198
查看次数

APL中的续行

APL中是否存在行继续符,即表示输入尚未完成的字符并继续解析下一行?

我想要它的原因是以类似于其形状的格式输入数组,例如,而不是:

Forecast ? 4 6 ? 150 200 100 80 80 80 300 330 360 400 500 520 100 250 350 380 400 450 50 120 220 300 320 350
Run Code Online (Sandbox Code Playgroud)

我想写(\假设的延续字符在哪里):

Forecast ? 4 6 ? \
150 200 100  80  80  80 \
300 330 360 400 500 520 \
100 250 350 380 400 450 \
 50 120 220 300 320 350
Run Code Online (Sandbox Code Playgroud)

我正在使用GNU APL,如果它很重要,而且我是一个几乎完全的新手,所以如果我还没有看到它就道歉.

apl

3
推荐指数
1
解决办法
248
查看次数

如何在APL中将数字拆分为数字

在APL中,如何将整数或数字拆分为包含其数字的向量?这样做最简洁(最简短)的方法是什么?

split numbers apl

3
推荐指数
1
解决办法
331
查看次数

这个 APL 黄金比例代码是如何工作的?

这是 Dyalog APL 中黄金比例的代码:

1+?÷?=1
Run Code Online (Sandbox Code Playgroud)

我不明白。“1 加 compose rec 重复等于 1”没有任何意义。

apl

3
推荐指数
1
解决办法
204
查看次数

J中的数组:从一个索引到另一个索引

使用JI正在尝试执行类似于Bernard Legrand(2009)的Mastering Dyalog APL第128页上显示的以下示例的操作。我无法找到此代码到J的直接转换,这就是我想要的。

这是示例:

BHCodes ? 83 12 12 83 43 66 50 81 12 83 14 66 etc...
BHAmounts ? 609 727 458 469 463 219 431 602 519 317 663 631...
Run Code Online (Sandbox Code Playgroud)

13.3.2-第一个问题

我们将重点放在某些选定的国家(14、43、50、37和66)上,并计算其销售总额。首先让我们确定BHCode的哪些项目是相关的:

      Selected ? 14 43 50 37 66
      BHCodes  ? Selected
0 0 0 0 1 1 1 0 0 0 1 1 0 1 0     ? Identifies sales in the selected countries only.
Run Code Online (Sandbox Code Playgroud)

然后,我们可以将此过滤器应用于金额,并将其相加:

     (BHCodes ? Selected) / BHAmounts
463 219 431 …
Run Code Online (Sandbox Code Playgroud)

lookup filtering j apl dyalog

3
推荐指数
1
解决办法
178
查看次数

什么是开始/学习 APL 的好资源?

我正在尝试开始使用 APL 和任何相关的 IDE、工具、编译器等。我可能需要在本地安装。我还在线查看了 APL repl,但所有符号似乎都很难输入(我什至不知道从哪里开始)。

我想知道我需要安装的任何在线资源、软件或软件包,以及有关 APL 的书籍或课程。我认为 StackOverflow 上没有关于这个问题的好答案,所以如果有人能指出我正确的方向,我将不胜感激。

apl

3
推荐指数
1
解决办法
75
查看次数

APL 中的阶乘数字和(Project Euler 20)

首先我发现+/\xe2\x8d\x8e\xc2\xa8\xe2\x8d\x95(!8)它给了我结果 9。但是如果我这样做100!,因为数字很大,我无法得到它。

\n

我收到\xe2\x8d\x8e\xc2\xa8\xe2\x8d\x95(!100)语法错误:\xe2\x8d\x8eSYNTAX ERROR

\n

还有其他方法可以解决这个问题吗?或者您可以建议我进行一些修改吗?

\n

math largenumber digits apl

3
推荐指数
1
解决办法
241
查看次数

APL 列车的 Haskell 版本

TLDR:是否有一个 Haskell 库提供函数定义(最好具有简洁的符号或命名)来处理多参数函数组合的常见模式,例如 APL 中的模式?

完整问题:

我是 Haskell 的新手,最近我发现自己在问其他 Haskell 新用户提出的组合问题类型,例如如何用二元函数组合一元函数如何以特定方式组合两个二元函数。尽管函数组合模式的目标相当明确(并且可能相当常见),但这两个问题的无点解决方案都(.)(.)(.)相当LiftM2 (.)不直观(要么 要么 )。

我花了一点时间使用 APL 语言,并且非常喜欢它的简单而强大的函数组合模型。例如,下面是许多组合模式的图表,可以用极其简洁的符号来完成,在人们花一些时间学习该语言后,这些符号实际上是相当可读的。

任何这些 APL 模式都可以在 Haskell 中通过编写简单的 lambda 表达式来完成。例如,我的 Haskell 文件之一中有以下行

(...) = (.)(.)(.)
Run Code Online (Sandbox Code Playgroud)

或者(可能更清楚)可以写成

(...) = \f g x y = f (g x y)
Run Code Online (Sandbox Code Playgroud)

或者使用更清晰的名称

_1_atop_2 = \f g x y = f (g x y)
Run Code Online (Sandbox Code Playgroud)

这样我就可以在代码的主要部分中以无点风格轻松地组合一元函数和二元函数。例如,要定义实值之间的距离函数,我只需将绝对值与减法相结合:

dist = abs ... (-)
Run Code Online (Sandbox Code Playgroud)

或者

dist = _1_atop_2 abs (-)
Run Code Online (Sandbox Code Playgroud)

(在这种情况下,更明确的风格dist x y …

haskell apl function-composition

3
推荐指数
1
解决办法
210
查看次数