重複の可能性:
Common Lisp で番号をリストに強制する
私はコモンリスプの初心者です。
番号 123456890 があり、番号 1 2 3 5 9 を個別に取得したい場合、common lisp でどのように行うのですか?
重複の可能性:
Common Lisp で番号をリストに強制する
私はコモンリスプの初心者です。
番号 123456890 があり、番号 1 2 3 5 9 を個別に取得したい場合、common lisp でどのように行うのですか?
まず、明らかに、この問題は以前に複数回解決されており、質問する前に解決策を検索する必要がありました。そうしないと、他の人が適切な解決策を見つけるのが難しくなるためです。したがって、ここに 1 つの古い回答があります: 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))))