Morgengrauner Dokumentation
Dateipfad: /home/mud/mudlib/doc//props/P_COMMANDSP_COMMANDS
**********
NAME
====
P_COMMANDS "commands"
DEFINIERT IN
============
BESCHREIBUNG
============
Diese Property enthaelt ein Mapping mit den Befehlen, die dem Objekt
zugeordnet sind.
Sie sollte nicht von Hand manipuliert werden, sondern nur ueber die
Funktionen AddCmd() und RemoveCmd().
Das Mapping hat folgenden Aufbau:
([ befehl : ({funktion1,...});
({flag1,...});
({regel1,...});
({id1, ...}),
({closure auf fun1, ...}),
... ])
Die Eintraege entsprechen den Parametern des AddCmd()-Aufrufs, sind
aber in anderer Form. Als Beispiel:
AddCmd(verb,fun1,1);
AddCmd(verb+syn1a|syn1b&syn2a|syn2b|syn2c, fun2,
error1_notify|error2_notify^error2_write);
-->
([verb:
({fun1,fun2}); // funs
({1,({error1_notify, error2_write^error2_say, 1})}); // flags
({0,({({syn1a,syn1b}),({syn2a,syn2b,syn2c})})}); // rules
0; // IDs
({closure auf fun1, closure auf fun2}) ]) // Cache
Funs: ({ ,...
'fun' kann sein: Closure
String: Methodenname - wird etwas geprueft
Objekt: wenn keine Methode, this_object() fuer
intern, previous_object() fuer extern
0 (erloschenes externes Objekt)
Rules: ({, ({<1. Synonymgruppe>,
<2. Synonymgruppe, ...}), ...})
Flags: ({, ({, ... ,
[, Index fuer write anstatt notify_fail]}),
... })
IDs: 0 oder ({}) oder ({0, }) ...
Cache: ({, ...
BEMERKUNGEN
===========
Cache-Closures sind bei Export immer genullt
SIEHE AUCH
==========
/std/thing/commands.c, AddCmd(), RemoveCmd()
16. Dez 2016 Gloinson
zurück zur Übersicht