Rebol Programming/reflect

From Wikibooks, open books for an open world
Jump to navigation Jump to search

USAGE:[edit | edit source]

REFLECT value field 

DESCRIPTION:[edit | edit source]

Returns definition-related details about a value.

REFLECT is a function value.

ARGUMENTS[edit | edit source]

  • value -- (Type: any-type)
  • field -- Such as: spec body words values title etc. (Type: word)

(SPECIAL ATTRIBUTES)[edit | edit source]

  • catch

SOURCE CODE[edit | edit source]

reflect: func [
    "Returns definition-related details about a value." 
    [catch] 
    value [any-type!] 
    field [word!] "Such as: spec body words values title etc."
][throw-on-error [
        switch/default field [
            spec [spec-of :value] 
            body [body-of :value] 
            words [words-of :value] 
            values [values-of :value] 
            types [types-of :value] 
            title [title-of :value]
        ] [
            cause-error 'script 'invalid-arg field
        ]
    ]]