在APL中,如何将整数或数字拆分为包含数字的向量?最简洁(最短)的方法是什么?

最佳答案

您可以使用以10为底的Decode的反函数:

10⊥⍣¯1⊢

由于Decode将根据需要输入尽可能多的数字并对其进行解码,因此⎕IO←0的逆运算将采用一个数字并将其编码为所需的任意数字,

或者,使用Encode,您可以尝试在数字矢量内查找带格式的数字的索引:
⎕D⍳⍕

Demo for both solutions.

这比将自定义长度的ojit_code丑陋地使用起来更好,后者通过将10的数组整形为输入的log10的长度而得出:
{⍵⊤⍨10⍴⍨⌈10⍟1+⍵}

10-08 06:00
查看更多