ClojureDocs

Nav

Namespaces

seq?

clojure.core

Available since 1.0 (source)
  • (seq? x)
Return true if x implements ISeq
3 Examples
user> (seq? 1)
false
user> (seq? [1])
false
user> (seq? (seq [1]))
true
;; contrast to example code for sequential?
;; You may also find this useful: https://insideclojure.org/2015/01/02/sequences
;;
user> (seq? '(1 2 3))
true
user=> (seq? #{1 2 3})
false
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"
See Also

Returns a seq on the collection. If the collection is empty, returns nil. (seq nil) returns nil...

Added by gstamp

Returns true if coll implements Sequential

Added by 0x89

Return true if x implements IPersistentVector

Added by 0x89

Returns true if x implements IPersistentCollection

Added by 0x89

Returns true if x implements IPersistentList

Added by 0x89

Return true if x implements IPersistentMap

Added by 0x89

Returns true if x implements IPersistentSet

Added by 0x89

Return true if the seq function is supported for x

Added by svenschoenung
0 Notes
No notes for seq?