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)