Я не могу понять, как сравнить строки в Clojure. Учитывая эту основную функцию:Что такое правильный способ сравнения строк в Clojure?
(defn login [username]
(let [x (username)]
(if (identical? x "John")
"Welcome"
"incorrect username")))
я получаю сообщение об ошибке: java.lang.String не может быть приведен к clojure.lang.IFn, когда я вызываю функцию. Каков наилучший способ сравнения строк в Clojure?
Не называть 'username' как функцию: это то, что' (имя пользователя) 'делает. То, как вы сравниваете строки, также * неверно (см. Ответ Криса Мерфи), но ошибка, которую вы получаете, задолго до того, как вы попытаетесь ее сравнить. Просто используйте 'username' без парнеров. – amalloy