> Sigh, I wish the API docs were more helpful in this case.
>
> clojure.core/seq?
> ([x])
> Return true if x implements ISeq
>
> It's asking a lot from me to know whether vectors implement ISeq.
If you don't know, you can always just ask the language :)
user> (ancestors (class [1 2 3]))
#{clojure.lang.IPersistentStack clojure.lang.Streamable
java.io.Serializable java.lang.Runnable clojure.lang.IFn
clojure.lang.IObj clojure.lang.Associative clojure.lang.Reversible
clojure.lang.Obj clojure.lang.Sequential java.util.RandomAccess
java.util.List clojure.lang.IPersistentVector
clojure.lang.APersistentVector clojure.lang.AFn java.lang.Object
clojure.lang.IPersistentCollection java.lang.Iterable
java.lang.Comparable java.util.Collection java.util.concurrent.Callable}
user> (contains? (ancestors (class [1 2 3])) clojure.lang.ISeq)
false
But, I agree; the seq/coll distinction can be very confusing at first,
especially when faced with seemingly contradictory outputs like
user> (= '(1) [1])
true
user> (= '() [])
false
user> {'(1) true}
{(1) true}
user> (get *1 [1])
true
user> (hash-map '(1) true)
{(1) true}
user> (get *1 [1])
nil
-Jason
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---