我是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,但它没有用.提前致谢.
根据http://www.microapl.co.uk/apl/APL1_2.PDF,在¯12和12之间有圆函数,例如函数1、2、3分别是sin
、cos
、tan
。我在这个参考资料中找到了函数 ¯7 到 7。但是,我没有找到函数 8 到 12(以及它们的倒数)。有人能指点一下它们是什么吗?
有没有办法打开文本编辑器,键入一些APL代码,将其保存为文件,然后在Dyalog或MicroAPLX中打开它来执行代码?或者那是什么工作空间?
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,如果它很重要,而且我是一个几乎完全的新手,所以如果我还没有看到它就道歉.
这是 Dyalog APL 中黄金比例的代码:
1+?÷?=1
Run Code Online (Sandbox Code Playgroud)
我不明白。“1 加 compose rec 重复等于 1”没有任何意义。
使用JI正在尝试执行类似于Bernard Legrand(2009)的Mastering Dyalog APL第128页上显示的以下示例的操作。我无法找到此代码到J的直接转换,这就是我想要的。
这是示例:
Run Code Online (Sandbox Code Playgroud)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...
13.3.2-第一个问题
我们将重点放在某些选定的国家(14、43、50、37和66)上,并计算其销售总额。首先让我们确定BHCode的哪些项目是相关的:
Run Code Online (Sandbox Code Playgroud)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 …
我正在尝试开始使用 APL 和任何相关的 IDE、工具、编译器等。我可能需要在本地安装。我还在线查看了 APL repl,但所有符号似乎都很难输入(我什至不知道从哪里开始)。
我想知道我需要安装的任何在线资源、软件或软件包,以及有关 APL 的书籍或课程。我认为 StackOverflow 上没有关于这个问题的好答案,所以如果有人能指出我正确的方向,我将不胜感激。
首先我发现+/\xe2\x8d\x8e\xc2\xa8\xe2\x8d\x95(!8)
它给了我结果 9。但是如果我这样做100!
,因为数字很大,我无法得到它。
我收到\xe2\x8d\x8e\xc2\xa8\xe2\x8d\x95(!100)
语法错误:\xe2\x8d\x8eSYNTAX ERROR
还有其他方法可以解决这个问题吗?或者您可以建议我进行一些修改吗?
\nTLDR:是否有一个 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 …