问题标签 [apl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
336 浏览

matrix - APL 查找矩阵中元素的频率

我有这段代码

生成以下矩阵

我想在结果中找到每个唯一元素的出现,即结果中出现 2、3、4、5。

我尝试将“∘.=”与矩阵本身一起使用,然后重新整形,使每个子矩阵的元素都使用

这给出了以下结果

如您所见,它仍然包含重复项目的总和,而我现在迷路了。任何帮助将不胜感激。

0 投票
2 回答
200 浏览

vector - 对每对向量元素的类扫描操作

我有以下向量:

并且想对它的每一对求和(类似于2+/vec,它对每 2 个相邻元素求和)。

在 APL 中执行此操作的最有效方法是什么?

0 投票
2 回答
266 浏览

apl - APL 解释器如何优化每个运算符?

我想知道在使用 APL 时是否应该大量使用each运算符,还是应该尝试为给定问题找到另一种解决方案?

在 APL 中如何优化此运算符的使用?

0 投票
1 回答
288 浏览

vector - Performance of string operations in Dyalog

I have 2 questions related to comparing character vectors in Dyalog APL. The following code will compare character vectors one-by-one:

  • In order to speed up (in case of 2 vectors, as well as in case of comparing many vectors to a single vector), should I convert character vector to a numeric vector or it won't matter in APL (similar to comparing chars in C)?
  • I am comparing DNA sequences (which may consist of letter from the ATCG alphabet only). Is there anything I can do to speed up various operations on such vectors?
0 投票
1 回答
167 浏览

primes - APL 中的 Pollard Rho 实现

最近,我尝试使用 APL,但很难将其概念化。例如,假设我想编写一个程序 g<-pollard x,其中函数通过 Pollard-Rho 方法计算数字 x 是素数还是可因式分解。

我知道方法本身,但我不知道从哪里开始将它实际集成到 APL 中。我应该首先创建一个全新的函数 f(x) 以供此函数使用,还是应该在代码中包含所有内容?我将如何保存上一次运行的 x 以用于下一次运行?请注意,我不是要一个完整的程序,只是一些让我开始的建议。

0 投票
2 回答
1118 浏览

for-loop - APL 编程 - 为向量赋值

最近,我一直在尝试进入 APL。但是,我经常遇到的一个问题是将值分配给向量。

对于我打算获得多个结果的某些程序(例如,将一个字符或一串字母转换为 8 位二进制向量的程序),我尝试制作一个临时 for 循环,然后分配第 i 个部分我的范围向量的正确值。例如,使用 char->bin 向量程序:

但是,每次我尝试这个时,我都会在 r[x] 被赋值的那一行得到一个长度错误。我的程序有什么问题,我该如何解决?

0 投票
2 回答
97 浏览

apl - 如何解决 ⎕CT 限制?

这是我的基本问题:

我想确定 VAL 是否是增量的倍数。我最初的解决方案是检查 (VAL-LOW)÷INC 是否为整数。这是我遇到 ⎕CT 问题的地方(以下不是我的实际代码,但它说明了我的情况)。

哦亲爱的!(注意:当然,当我“赤脚”运行代码时,这不会发生 - 只有当它在实际环境中的调用堆栈深处时才会发生。)

第二个想法不是很优雅,但在纸面上似乎是合理的:

将 V 格式化为 12 位,去掉小数点和它左边的所有内容。执行其余的并检查它是否等于零。那行得通,直到它没有,我只剩下十二个九了。

哦!

然后我突然想到,也许我并不总是需要 12 位小数。事实上,我只需要 INC 中的数量:

我不知道......它变得越来越混乱。当 UPP 很大而 INC 为 1000 时会发生什么?有没有更聪明的方法来做到这一点?

幼稚的解决方案是基于 LOW、INC 和 UPP 生成有效 VAL 的列表,但这样的解决方案总是有耗尽工作内存的风险。

0 投票
5 回答
347 浏览

apl - 基于 HTTP 的 APL 会话?

有没有办法让 APL 会话使用 HTTP 进行通信?也就是说,不是使用已经内置在 APL 中的 IDE,而是在某个地方启动 APL 并发送请求,例如)load)save)copy1+1run等,并返回回复文本。谢谢你的建议。

0 投票
1 回答
666 浏览

arrays - GNU APL 和 Dyalog APL 中的分区行为

在 Dyalog APL 中有⎕ML哪些改变了分区的操作方式。什么时候⎕ML←0

(5 ⍴ 1 0) ⊂ 5 5 ⍴ ⍳25

(5 ⍴ 1 0) ⊂ 5 5 ⍴ ⍳25 对于GNU APL 中的相同语句

Dyalog APL 在⎕ML←3

有没有办法改变 GNU APL 的行为以获得相同的行为?

0 投票
4 回答
4588 浏览

apl - Linux 上的 APL 键盘映射 (GNU APL)

早在 60 年代/70 年代,我的祖父是 IBM 的 APL 程序员。他最近开始使用 Linux,我一直在帮助他设置和使用 GNU APL ( http://www.gnu.org/software/apl/ )。

目前最让我头疼的是键盘映射。目前我已经安装了 aplwrap GTK+ ( https://github.com/ChrisMoller/aplwrap ) 编辑器,它工作正常,但并不出色。我想为单击 LALT + 键或 LALT + Shift + 键时工作的 APL 字符设置全局键盘映射。我已经摆弄了 GNU APL 源代码中提供的 xmodmap 文件,但是当您尝试让它在启动时自动运行时,它会搞砸一切。

所以,我有两个问题:

  1. 是否可以让 APL 键盘映射全局并在启动时运行,因此不必手动打开?

  2. 如果第一个问题是不可能的,那么是否可以为每个应用程序设置一个键盘映射?例如,Gnome 终端和 gEdit 将使用 LALT 键盘映射来处理 APL 字符,但系统的其余部分将正常工作。

非常感谢。