Когда у меня есть 3 функции в программе, как я могу проверить конкретное имя функции? Я хочу знать название этой функции для выбора функции.Проверка функции Clojure
Пусть функция линейного ядра, функция логистического ядра и неотрицательная функция, когда я вызываю программу, вызывается одна из этих функций, и я должен проверить, была ли она линейной, логистической или неотрицательной функцией , поэтому я могу выполнить другую функцию, связанную с выбранной функцией.
Я думаю, что выбор функции будет экономить мое время от повторения базового кода. Но выбор функции, возможно, не самый лучший дизайн, который я мог бы использовать в Clojure.
FYI, на этом уровне, я уже используют «мета» ключевое слово, чтобы получить доступ к имени функции, но когда я создаю
(defn isKernel [krn]
(if (= (str (:name (meta #'krn))) "logistic-kernel") 1 0))
компилятор не может разрешить «KRN» Var
Почему бы просто не сделать '(= krn logistic-kernel)'? – cgrand