-1
可能重复:
Coercing numbers to lists in common lisp如何从一个整数一个单一的数字Common Lisp中
我在Common Lisp的初学者。
如果我有号码123456890,我想单独获取号码1 2 3 5 9如何在普通的lisp中执行此操作?
可能重复:
Coercing numbers to lists in common lisp如何从一个整数一个单一的数字Common Lisp中
我在Common Lisp的初学者。
如果我有号码123456890,我想单独获取号码1 2 3 5 9如何在普通的lisp中执行此操作?
首先,很明显,这个问题在多次解决之前就已经解决了,而且在您提出问题之前,您必须先搜索解决方案,否则会让其他人难以找到一个好的解决方案。所以,这里有一个较老的答案:Coercing numbers to lists in common lisp
(defun int-to-list (int)
(assert (>= int 0) nil "Argument must be non-negative")
(if (= int 0) (list 0)
(loop with result = nil
while (> int 0) do
(multiple-value-bind (divisor remainder)
(floor int 10)
(push remainder result)
(setf int divisor))
finally (return result))))
你会怎么做_any_语言? –
我没有真正尝试过任何常见的lisp。我记得很久以前,我曾尝试在C语言中使用for循环和“%10”,但无论我如何更改它,它都不起作用,并且当其中一个数字为0时出现问题。 – imu96