私はLispを学んでいます。再帰を使用して、アルファベット順に並べられた2つの文字列をマージするCommonLisp関数を実装しました。これが私のコードですが、何か問題があり、理解できませんでした。
(defun merge (F L)
    (if (null F)
        (if (null L)
            F         ; return f
            ( L ))    ; else return L
        ;else if
        (if (null L)
            F)        ; return F
    ;else if
    (if (string< (substring F 0 1) (substring L 0 1)
        (concat 'string (substring F 0 1) 
                        (merge (substring F 1 (length F)) L)))
    ( 
        (concat 'string (substring L 0 1) 
                        (merge F (substring L 1 (length L)) ))
    ))))
a = adf編集:入力が文字列と文字列b = beg
であり、結果または出力がであるなど、2つの文字列をマージしたいだけですabdefg。
前もって感謝します。