как можно объединить две строки, упорядоченные в алфавитном порядке в Лиспе, используя рекурсию

Я изучаю Лисп. Я реализовал обычную функцию lisp, которая объединяет две строки, упорядоченные в алфавитном порядке, с использованием рекурсии. Вот мой код, но что-то не так, и я не понял.

(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 и результат должен быть; abdefg

Заранее спасибо.

0
задан Will Ness 14 November 2013 в 13:13
поделиться