У меня есть несколько функций, которые работают со списками.У меня есть четная функция, которая принимает параметр списка и получает четные индексы списка.Нечетная функция делает то же самое, но с нечетными индексами.У меня также есть другая функция, которая объединяет два отсортированных списка, называемая merge-list, которая принимает два списка в качестве параметров.
Проблема с функцией, которую я сейчас пишу: merge-sort.
Вотчто у меня есть:
(defn merge-sort [lis]
(if (empty? (rest lis))
lis
(merge-list (merge-sort (odd(lis))) (merge-sort (even(lis))))))))
По какой-то причине я продолжаю получать ошибку
java.lang.ClassCastException: clojure.lang.PersistentList cannot be cast to clojure.lang.IFn
Я могу передать нечетную функцию rest lis вот так (odd(rest lis))
(то же самое с четным).Он работает нормально, но это, очевидно, не дает мне решение, которое я хочу.
Я очень новичок в Clojure, поэтому любые советы будут оценены.Спасибо.