在APL中,如何将整数或数字拆分为包含其数字的向量?这样做最简洁(最简短)的方法是什么?
答案 0 :(得分:5)
您可以使用基数为10的Decode
的倒数:
10⊥⍣¯1⊢
由于Decode
会根据需要输入任意数量的数字并对其进行解码,因此其反转将采用一个数字并将其编码为所需数量的数字,
或者,使用⎕IO←0
,您可以尝试在数字向量中找到格式化数字的索引:
⎕D⍳⍕
这比使用Encode
更加丑陋,自定义长度是通过将数组10整形为输入的log 10 的长度得出的:
{⍵⊤⍨10⍴⍨⌈10⍟1+⍵}
答案 1 :(得分:3)
答案 2 :(得分:1)
不是最简洁,但执行此操作的权力是最早的APL。 The 1962 book显示了如何使用仅使用基本函数和矩阵乘法的位置编号系统: