Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我使用编程语言:J。
我想把一个数字的所有数字放在一个列表中。
从:
12345
至:
1 2 3 4 5
我能做些什么?
我写这个的方式是
10&#.^:_1
我们可以在这句话中看到:
(10&#.^:_1) 123456789 1 2 3 4 5 6 7 8 9
该程序依赖于Base内置的重塑功能。它使用 Base 的(内置)正面作为Antibase的同义词。
我找到了答案:
intToList =: (".@;"0@":)
另一种方法:
intToList =: 3 : '((>. 10 ^. y)#10) #: y'
这不会转换为字符串并返回,这可能会很昂贵,但会使用以 10 为底的日志来计算数字,然后使用反基数 ( #:) 来获取每个数字。
#:
编辑:
更好、更安全的版本基于 Dan Bron 的评论:
intToList =: 3 : '10 #.^:_1 y'