问题标签 [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 投票
3 回答
186 浏览

keyboard - 不需要:启用 APL 键盘覆盖?

我一直在尝试 APL。我正在运行 Windows 10,并且我已经安装了 Dyalog 18.0,以及 VS Code 的 APL 语言和 APL 反引号符号扩展。

但是即使我没有运行任何这些程序,有时我的键盘也会突然被劫持!我所有的 ctrl 命令都替换为 APL 符号。例如 ctrl-Z(撤消)变为⊂,而 ctrl-A(全选)变为⍺。我不知道为什么以及如何再次禁用它。这让我的工作变得非常困难!!!

我一直在谷歌上搜索这个,但到目前为止还没有找到答案。我查看了 Windows 键盘设置,但看起来很正常。区域设置也正确。我现在只是卸载所有东西,但这样我每次想尝试 APL 时都需要重新安装。

有人能告诉我发生了什么以及如何解决吗?(并告诉我该向谁抱怨这是一个非常敌对的功能)

0 投票
1 回答
86 浏览

syntax-error - APL 中的语法错误(在分配时更改名称类)

当我尝试在 Dyalog APL 中分配名称时,我收到以下错误消息之一:

  • SYNTAX ERROR: Can't change nameclass on assignment
  • SYNTAX ERROR: Invalid modified assignment, or an attempt was made to change nameclass on assignment

“在分配时更改名称类”到底是什么意思,为什么不允许,我该如何解决这个问题?

0 投票
1 回答
43 浏览

apl - 涉及赋值的表达式的意外值

我看到了这个逻辑,想知道为什么结果是一而不是零:

另一方面,以下结果为零:

我正在使用 Dyalog APL 16。

0 投票
2 回答
72 浏览

runtime-error - 无法在 Dyalog APL 中使用用户命令

我刚刚在我的 Windows(Windows 10)机器上安装了 Dyalog-APL 18.0,当我尝试]box on -style=max在 IDE 上使用时出现以下错误:

然后我注意到打开 Dyalog 时出现了之前的错误,我公然忽略了它:

此外,我意识到所有用户命令都会给出第一个错误。

一些细节:我以管理员权限安装了 Avast Antivirus。

我尝试过的事情:

  1. 在防病毒设置中将文档文件夹添加为例外,并将其添加到允许的应用程序列表中(来自 Ransomware Shield)。 更改后重新启动。
  2. 重新安装
  3. 以管理员身份启动 Dyalog
0 投票
1 回答
86 浏览

recursion - 如何在 APL 中进行相互递归?

0 投票
1 回答
77 浏览

ms-office - 从 Windows 计划任务创建 Word OLE 客户端会导致 ntdll 应用程序错误

我们的正常工作流程是使用 Windows 计划任务来:

  1. 将文件从 rtf 批量转换为 pdf
  2. 操作 pdf 以添加条形码
  3. 聚合成一个 pdf
  4. 然后发送打印

这在 Windows Server 2008 上运行良好,但自从我们升级到 Windows Server 2019(生命周期结束等)后,我们遇到了一大堆问题。我们现在遇到了第一个障碍——甚至是实例化 Word OLE 客户端。错误不一致 - 一天该过程将成功完成,下一天它将立即失败。

我们的任务触发了一个 Dyalog APL 工作区,要执行的代码就在其中。出于调试目的,我设置了一个简化版本,它执行以下操作:

各种延迟保存在外部配置文件中。我没有包括读取这个配置文件,因为基本上这里显示的是实质内容。注意:我重试创建实例,因为有时我发现它只使用准系统方法进行实例化。延迟或重试似乎可以解决此问题。

这段代码将在我的非生产服务器(甚至有时在生产中)中运行得很好。今天,当我通过 IDE 运行它时它会运行良好,但是当作为 Windows 计划任务运行时,它会在打开文档时报告 DOMAIN ERROR。

我的观察是它短暂地创建了WINWORD.exe,即你可以在任务管理器中看到它,状态变为“暂停”,然后它消失了。在事件查看器中,我们看到以下内容:

事件查看器 - ntdll 应用程序故障(ID:1000)

到目前为止我尝试过的事情

  1. 重新启动服务器(是的,你在开玩笑,但我们应该始终尝试的第一件事就是将其关闭再打开)
  2. 修复办公室
  3. 重新安装办公室
  4. 尝试将任务配置为以其他用户身份运行(我自己,具有本地管理员权限)
  5. 尝试将任务配置为在不同的服务器上运行。
  6. 尝试将任务配置为以更高的优先级运行。
  7. 使 Word 实例可见,以查看是否有任何错误弹出窗口。
  8. 构建了任务的简化版本(见上文),以确保它不仅仅是主要任务的整体复杂性导致混乱。
  9. 根据微软的建议禁用“自动墨迹书写”
  10. 捕获错误的 procmon 日志(等待 Microsoft 审核)

当前安装的版本:

  • Word:Microsoft Word 2019 MSO (16.0.10374.20040) 64 位
  • Dyalog APL:16.0.35960.0 32 位 Unicode
  • Windows Server 2019 标准版 1809。操作系统内部版本 17763.1697。

任何帮助都会非常感激,因为我觉得我正在处理薛定谔的 OLE 客户端。提前致谢。

0 投票
1 回答
62 浏览

recursion - Dyalog APL - 河内塔 - 无法正确循环

我无法让它在Dyalog APL中工作

它从第一个循环,solve (n-1) a b c但永远不会到第 4 行。

相同的代码适用于 JavaSCript:

当我打印输入参数时,它显示:

有任何想法吗?

0 投票
2 回答
55 浏览

arrays - 为什么文本行数组似乎有一个额外的容器级别?

我正在使用 Dyalog 的“行数组”模式读取文件⎕nget

它似乎有效:

但是各个元素似乎不是字符数组:

在这里,我们看到第一行的计数为 1,形状为空数组。我无法进一步索引它;lines[1][1]或者line[1]是排名错误。如果我在 RHS 上使用 ⊂,我可以一次将值分配给多个变量,并为每个变量获得相同的行为。但是,如果我在没有左鞋的情况下进行多项作业,我会得到:

最后我们得到了我期望的字符数组!然而,它显然没有与隐藏在其中的任何其他东西分开line;另一个变量是相同的:

值得注意的是,当我查看它时,word它没有前导空格,不像line. 因此,似乎返回的内容矩阵中的各个数组元素⎕nget被进一步包裹在一些没有出现在形状或计数中的东西中,并且不能被索引,但是当我使用解构赋值时,它会解开它们。感觉很像 Common Lisp 中的多值内容。

如果有人可以解释这里发生了什么,我将不胜感激。我觉得我错过了一些非常基本的东西。

0 投票
1 回答
53 浏览

select - 给定一个矩阵,什么 APL 表达式最能模拟 SQL 选择语句

我有包含数字数据的 CSV 文件,我想对此数据进行分析。我希望使用 APL 比将其读入 mysql 并执行选择能给我更大的灵活性。但首先我想做简单的提取,比如'select * from mydata where col1 = 2020'。到目前为止,我知道我可以使用 Compress。但为此,我需要知道将为 compress 的左参数生成布尔数组的表达式(即“where col1 = 2020”的 APL 版本)。在线搜索没有让我在那个部门的任何地方。

0 投票
2 回答
163 浏览

arrays - APL 中的函数向量

APL 中函数向量(数组)的语法是什么?

我尝试了以下方法,但它们分别被解释为 3 列和 2 列:

PS。顺便说一下,我希望使用更复杂(并且可能命名)的函数来做到这一点,{1}上面的例子很简短