我无法弄清楚如何比较Clojure中的字符串.鉴于此基本功能:
(defn login [username]
(let [x (username)]
(if (identical? x "John")
"Welcome"
"incorrect username")))
Run Code Online (Sandbox Code Playgroud)
我不断收到此错误消息:当我调用该函数时,java.lang.String无法强制转换为clojure.lang.IFn.在Clojure中比较字符串的最佳方法是什么?
你得到的错误信息是因为username进入你的函数是一个字符串,你试图调用它(没有任何参数).你根本不需要这个let表格.而不是x放username.
所有不可变值都响应使用=:
(= username "John")
= 实际上检查值,而不是一些'在内存指针'的概念.