ClojureDocs

Nav

Namespaces

record?

clojure.core

Available since 1.6 (source)
  • (record? x)
Returns true if x is a record
1 Example
;; Define a record R
user=> (defrecord R [x])
user.R

;; Create an instance of R called r
user=> (def r (->R 1))
#'user/r

;; Look at r
user=> r
#user.R{:x 1}

;; Is r a record?
user=> (record? r)
true

;; Interestingly adding "fields" not defined in R keeps it a record
user=> (def r2 (assoc r :y 2))
#'user/r2

user=> r2
#user.R{:x 1, :y 2}

;; r2 is still a record
user=> (record? r2)
true

;; But regular map is not a record
user=> (record? {:x 1})
false
See Also
No see-alsos for clojure.core/record?
0 Notes
No notes for record?