[racket] Dynamically get all fields of an object?
"Johann 'Myrkraverk' Oskarsson" <myrkraverk at yahoo.com> writes:
> Hi all,
>
> Is it possible to get hold of all fields of an object? Not just their
> names like with (field-names this) but also (or instead) the values?
Seems like a combination of (field-names ...) and (dynamic-get-field
...) do exactly what I want.
(let ((fields (field-names this)))
(for ((field fields))
(let ((f (dynamic-get-field field this)))
(when (is-a? f thing%)
(send f display-thing))))))))
Unfortunately, I ran out of good names and ended up with a symbol f in
there.
Johann