问题标签 [dyalog]

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 投票
1 回答
386 浏览

arrays - APL Dyalog 嵌套数组元素转换

我一直在使用 Dyalog APL 进行类分配,并且在转换嵌套数组的每个元素时遇到了问题。

我有一个名为 HOLD 的字符数组,其中包含可变数量的 7 个字符长数组。使用拆分转换,我可以将其转换为只读嵌套数组的嵌套数组,但是我需要它们成为字符向量。

我可以使用 MIX 运算符将元素单独更改为字符向量,

但我似乎不能同时对每一个元素都这样做。

我最好的尝试看起来像

但这似乎使每个元素都成为只读字符数组。如何同时对 HOLD 中的每个元素执行此操作并获得仅包含字符向量的嵌套数组?

0 投票
1 回答
310 浏览

error-handling - APL 中的错误处理

我目前正在为一个类开发 APL 程序,并且遇到了错误处理问题。

在我制作的函数中,我想检查输入是否为整数。如果不是,我想返回一条错误消息并且不运行该函数的其余部分。到目前为止,我比较看看它是否等于它自己的地板。如果没有,我不希望该功能运行并希望它停止。如果我输入4.2并给出错误消息,它就可以工作,但如果我输入类似的东西'A',或者'ABCDEF'只是给出一个正常的错误,它就不起作用。我尝试制作一个 try catch 语句,但是当它进入我的函数时它给了我一个错误:Try

这不是我想要的。如果输入是字符或字符串,我怎样才能使函数以错误消息结束而不是继续?我知道我可以将整个代码放在一个 if 块中,但这似乎真的没有必要。

我的纯文本代码:

作为截图:

截屏

0 投票
1 回答
152 浏览

matrix - APL 扑克游戏计分

我在 APL 中遇到了一个问题,它涉及获取值并像扑克游戏一样对它们进行评分。所以我用

这是我然后使用的卡片“甲板”中字符的整数表示

这将返回每个字母索引的频率,例如字母 S 出现 2 次,由第二行中出现的 29 表示。我不知道如何对矩阵的每一行执行此操作,该矩阵是 3 组 3x7 矩阵,该函数仅返回第一行

当我尝试为每一行执行此操作时,它会返回所有字符的频率,并且不会单独为每个集合执行此操作。简而言之,我需要它为每张牌分别执行功能。

0 投票
3 回答
257 浏览

kdb - Dyalog APL 和 q 之间的进程间通信

我如何连接 Dyalog APL 客户端以连接到 aq 服务器并执行简单的事务(如“2+2”)?在解码答案时,该协议似乎很简单并且记录得很好,但我似乎无法通过第一步,即使用 Dyalog APL 或 VBA 的初始握手。现在,如果我可以访问本地主机,那就足够了。

我使用的文档是https://code.kx.com/wiki/Reference/ipcprotocol

0 投票
3 回答
198 浏览

apl - 在 Dyalog 中创建闭包向量

我想定义一个带有单个参数的匿名函数向量,然后在该向量上映射一个参数,返回每个索引x的结果数组。f(x)这在 Dyalog 中可行吗?

我问是因为我天真地尝试创建这样一个闭包向量:

行为奇怪。fs

⍴fs返回相似的输出而不是 3,让我相信我根本没有制作数组。解决这个问题的正确方法是什么?

0 投票
1 回答
112 浏览

apl - 将函数应用于矩阵的随机行

0 投票
5 回答
350 浏览

apl - APL 成语用零包围数组

(Dyalog) APL 中是否有一个简单的习惯用法来用零包围数字数组?

目前对于等级为 1 的数值数组NA,或我使用的向量

对于排名为 2 的数组,我使用

对于更高的等级,我可以重复这种模式,但我确信必须有更好的方法来做到这一点(并且对所有等级都有一个定义),但我就是想不出一个似乎没有的方法过于复杂。

0 投票
1 回答
107 浏览

performance - 在大型阵列上测试 Dyalog 成语的时间

对于找到的第一行习语(w∘{(↓⍺)⍳↓⍵}),即使第一次搜索会对数组进行散列处理,使得以后的搜索速度更快,但搜索时间似乎没有减少?

0 投票
4 回答
291 浏览

algorithm - 查找向量中元素的位置

我是 APL 的新手,我想在向量中找到元素的位置。例如,如果我创建一个包含 50 个随机数的向量:

假设它在向量中出现 3 次,我如何找到 91 的位置?

谢谢。

0 投票
2 回答
72 浏览

event-handling - 在 GUI 事件之间等待

我正在尝试为 Dyalog APL 中的图形组件编写一个测试,它将模拟打开新窗口的按钮单击和用于填写表单字段的击键。我的第一种方法是简单地编写一系列 ⎕NQ 语句用于排队事件:

然而,问题在于,如果目标对象尚未显示(例如打开窗口时),⎕NQ 会失败:

我尝试在 ⎕NQ 语句之间插入几秒钟的暂停,但这没有任何区别,因为执行是同步的。

我应该采取什么方法?