SYNOPSIS
        object first_inventory();
        object first_inventory(string ob);
        object first_inventory(object ob);

BESCHREIBUNG
        Liefert das erste Objekt im Inventory von <obj>, wobei <obj> entweder
        ein Objekt oder der Name eines Objekts ist. Wenn <obj> nicht angegeben
        wird, wird standardmaessig this_object() verwendet.

BEISPIELE
        Diese Efun verwendet man am haeufigsten im folgenden Kontext:

            for(obj=first_inventory(container);obj;obj=next_inventory(obj))
            {
                <irgendwelcher Code>
            }

        Wer solche Aufrufe haeufig verwendet, findet es moeglicherweise
        sinnvoll, ein Praeprozessor Makro zu verwenden:

            #define FORALL(x, y) for(x=first_inventory(y);x;
                x=next_inventory(x))

        Damit vereinfacht sich das obige Beispiel zu:

            FORALL(obj, container)
            {
                <irgendwelcher Code>
            }

        ACHTUNG: Wenn das Objekt <obj> innerhalb von <irgendwelcher Code>
        bewegt wird, liefert next_inventory() ein Objekt aus dem neuen
        Inventory von <obj>. Auch sollte next_inventory() nicht fuer
        zerstoerte Objekte <obj> aufgerufen werden. Fuer den Fall, dass
        <obj> bewegt und/oder zerstoert wird, ist folgende Loesung
        vorzuziehen:

            for(obj=first_inventory(container);obj;)
            {
                next=next_inventory(obj);
                <irgendwelcher Code mit Moves oder Removes>
                obj=next;
            }

SIEHE AUCH
        next_inventory(E), all_inventory(E), environment(E), deep_inventory(E)
