Pragmas in UNItopia Die folgenden Pragmas sind in UNItopia von Relevanz: no_combine_string: Verhindert das Zusammenfuegen von Strings (dass "bla" "blub" zu "blablub" wird). no_clone: Dieses Objekt kann nicht geclont werden. (siehe auch Efun clone_object) no_inherit: Dieses Objekt darf nicht mehr inheritet werden. (Fuer Objekte in /touch, /apps und /room-Verzeichnissen braucht man dies nicht anzugeben, sie kann man generell nicht inheriten.) no_shadow: Diesem Objekt darf kein Shadow uebergeworfen werden. Dies ist fuer Gegenstaende und Raeume nicht erlaubt. (Siehe /doc/richtlinien/programmierung/shadows.) weak_types: Schaltet einen strengeren Typcheck aus. (In UNItopia ist dies die Voreinstellung, nicht jedoch in Orbit oder in einem HomeMUD.) strong_types: Bei allen Funktionen muss der vollstaendige Typ fuer Parameter und Rueckgabewert angegeben werden. (Dies ist Standard fuer Orbit und HomeMUDs.) strict_types: Wie strong_types. Zusaetzlich muessen Rueckgabewerte von call_other() gecasted werden. (z.B. ({string})ob->query_real_name()) save_types: Die Typinformationen werden sich ueber die Compilephase hinaus gemerkt, um bei spaeterer Vererbung bessere Typchecks durchfuehren zu koennen. (Dies wird in UNItopia fuer Dateien aus /i/-Verzeichnissen automatisch gemacht.) verbose_errors: Bei Compilefehlermeldungen wird der Kontext (z.B. kurz vor Zeilenende oder kurz vor diesen Zeichen) mit ausgegeben. (Dies ist fuer Dateien aus dem /w Standard.) no_local_scopes Variablen, welche in einem Block (z.B. innerhalb einer for-Schleife) definiert werden, sind dann auch ausserhalb des Blockes (also von dort an in der ganzen Funktion) sichtbar. pedantic: Einige Warnungen sind dann Fehler. (Dies ist in Orbit und in HomeMUDs Standard.) sloppy: Schaltet das pedantic aus.