在Clojure中比较字符串的正确方法是什么?

时间:2016-02-16 04:50:49

标签: clojure

我无法弄清楚如何比较Clojure中的字符串。鉴于这个基本功能:

(defn login [username]
  (let [x (username)]
    (if (identical? x "John")
     "Welcome"
     "incorrect username")))

我不断收到此错误消息:当我调用该函数时,java.lang.String无法强制转换为clojure.lang.IFn。在Clojure中比较字符串的最佳方法是什么?

1 个答案:

答案 0 :(得分:7)

您收到的错误消息是因为进入您的函数的\xff是一个String,并且您正在尝试调用它(没有任何参数)。你根本不需要username表格。而不是letx

所有不可变值都会响应使用username

=

(= username "John")实际上检查了值,而不是某些“内存指针”概念。