在APL中,如何将整数或数字拆分为包含数字的向量?最简洁(最短)的方法是什么?
最佳答案
您可以使用以10为底的Decode
的反函数:
10⊥⍣¯1⊢
由于
Decode
将根据需要输入尽可能多的数字并对其进行解码,因此⎕IO←0
的逆运算将采用一个数字并将其编码为所需的任意数字,或者,使用
Encode
,您可以尝试在数字矢量内查找带格式的数字的索引:⎕D⍳⍕
Demo for both solutions.
这比将自定义长度的ojit_code丑陋地使用起来更好,后者通过将10的数组整形为输入的log10的长度而得出:
{⍵⊤⍨10⍴⍨⌈10⍟1+⍵}