-1

重複の可能性:
Common Lisp で番号をリストに強制する

私はコモンリスプの初心者です。

番号 123456890 があり、番号 1 2 3 5 9 を個別に取得したい場合、common lisp でどのように行うのですか?

4

1 に答える 1

0

まず、明らかに、この問題は以前に複数回解決されており、質問する前に解決策を検索する必要がありました。そうしないと、他の人が適切な解決策を見つけるのが難しくなるためです。したがって、ここに 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))))
于 2013-01-20T06:28:41.643 に答える