gpt4 book ai didi

php - APL 中的爆炸和内爆

转载 作者:可可西里 更新时间:2023-11-01 00:46:29 24 4
gpt4 key购买 nike

类似PHP的explodeimplode的功能如何用APL实现?

我试着自己解决这个问题,并想出了一个解决方案,我将其发布在下面。我希望看到可以解决此问题的其他方法。

最佳答案

Pé,对 APL 中标准问题的“简短”和/或“优雅”解决方案的追求比 PHP 更早,甚至比新术语更早,例如“explode”、“implode”(我认为 - 但我必须承认我不知道这些术语到底有多久......)。无论如何,早期的 APL 人员使用术语“成语”来表示此类“符合 APL 一行的标准问题的解决方案”。出于某种原因,芬兰人特别有创意,甚至开始制作一份 list ,以方便新手使用。我发现这些东西在进行 APL 20 年后仍然有用。它叫做“FinnAPL”——芬兰语 APL 习语库,您可以在这里浏览:https://aplwiki.com/wiki/FinnAPL_idiom_library (顺便说一句,整个 APL Wiki 读起来可能很有趣...)

但是,您可能需要在措辞上发挥创意才能找到解决方案;)还有一个警告:FinnAPL 仅适用于“经典”(非嵌套)数据结构(嵌套矩阵带有“APL2”,这是当今的标准),因此它们处理数据的某些方式可能不再是“最先进的”。 (即回到“旧时代”,CAT BIRD 和 DOG 将被表示为 3x4 数组,因此字符串数组的“内爆”很简单,如 ,array,delimeter (但你随后面临着移除为填充而插入的空白的挑战。

无论如何,我不确定我为什么要写这些 - 只是在考虑我开始使用 APL 时想到的一些想法 ;-)

好吧,我也看一下这个问题。当您的定界符是单个字符时,APL2ish 惯用的处理方式将是这样的:

⎕ml←3    ⍝ "migration-level" (only Dyalog APL) to ensure APL2-compatibility
s←' '
A←s,'BIRD',s,'CAT',s,'DOG' ⍝ note that delimeter also used as 1st char!
exploded_string←1↓¨(+\A=s)⊂A ⍝ explode
imploded←∊s,¨exploded_string
A≡imploded ⍝ test for successfull round-trip should return 1

关于php - APL 中的爆炸和内爆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17320788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com