Dokumentation zu: inherit_list(E)

HR Image

        #include <inherit_list.h>

        string * inherit_list()
        string * inherit_list(object ob)
        string * inherit_list(object ob, int flags)

        Returns the names of all files inherited by <ob>, including
        <ob>s own filename. If <ob> is omitted, it defaults to the current
        object. The value of <flags> determines the structure of the output.

        <flag> = INHLIST_FLAT (0, default):
          The result is an array of filenames, starting the with the filename
          of <ob> itself, followed by the names of all inherited objects
          in breadth order.

        <flag> = INHLIST_TREE (1):
          The result is an array starting the with the filename
          of <ob> itself, followed by the all directly inherited
          objects. If one of the inherited objects has no inherits by itself,
          then its name will be stored directly in the array. If one inherited
          object has inherits by itself, a subvector will be created and
          stored in the result vector. The subvector(s) have the same
          structure as the main result vector.

        <flag> = INHLIST_TAG_VIRTUAL (2):
          All names in the result are prefixed with a tag: "  " (two spaces)
          for normal inherits, "v " for virtual inherits.

        All flags can be combined with binary-|, just _FLAT and _TREE are
        mutually exclusive.

        If objects, including <ob>, had been undergone a replace_program(),
        the returned filenames will reflect the actual active program.

        The returned names always begin with '/' (absolute path), except
        when the parser runs in COMPAT mode.

        Given this inheritance structure:

            / c - d
            \ b

        the efun will give the following results:

          inherit_list(a) -> ({ "a", "c", "b", "d" })
          inherit_list(c) -> ({ "c", "d" })
          inherit_list(a, 1) -> ({ "a", ({ "c", "d" }), "b" })

        Before 3.2.8, the returned names never started with a '/'.
        LDMud 3.2.9/3.3.111 added the tree representation.
        LDMud 3.2.9/3.3.125 added the tagging of virtual inherits.

        debug_info(E), include_list(E)

Die Seite ist auch in Deutsch vorhanden.

Start » Magierhandbuch » Docu » Efun » Inherit_list Letzte Generierung: 25.04.2021, 01:58
Email an:
Valid HTML 4.01!