seq?

added
1.0

ns
clojure.core

type
function

(seq? x)

Return true if x implements ISeq

                user> (seq? 1)
false
user> (seq? [1])
false
user> (seq? (seq [1]))
true
            
                ;; contrast to example code for sequential?
;;
user> (seq? '(1 2 3))
true
user> (seq? [1 2 3])   ; for sequential?, returns true
false
user> (seq? (range 1 5))
true
user> (seq? 1)
false
user> (seq? {:a 2 :b 1})
false
user>
            
                ;; Don't use seq? when you want to check for a vector.
;; you may have intended to use seq instead

cljs.user=> (def x [:a :b :c])
#'cljs.user/x
cljs.user=> (if (seq x) "Seq ok" "No Seqing here")
"Seq ok"
cljs.user=> (if (seq? x) "Seq ok" "No Seqing here")
"No Seqing here"