efun: process_string.de


OPTIONAL:


SYNOPSIS:

        string process_string(string str);

BESCHREIBUNG:

        Durchsucht den String <str> nach "value by function call", das
        heisst nach @@, gefolgt von einem impliziten Funktionsaufruf. Siehe
        auch "value_by_function_call" im Prinzipien-Teil der Enzy.

        Der Wert sollte eine String in dieser Form enthalten:
        @@function[:filename][|arg|arg]@@

        <function> muss einen String zurueckliefern, sonst wird der zu
        verarbeitende String unveraendert zurueck geliefert.

        process_string() fuehrt keine Rekursion ueber zurueck gelieferte
        Werte durch: wenn eine Funktion wiederum eine implizite Funktion
        zurueckliefert, wird diese zweite Funktion nicht mehr verarbeitet.

        Sowohl <filename> wie auch die Argumente <arg> sind optional.

BEISPIEL:

        string foo(string str)
        {
            return "ab"+str+"ef";
        }

        void func()
        {
            write(process_string("@@foo|cd@@"+"\n");
        }

        func() gibt jetzt an den Benutzer den String "abcdef" aus.

BUGS:

        Die Verwendung von process_string() kann massive Sicherheitsprobleme
        verursachen.

AENDERUNGEN:

        Wegen der Sicherheitsprobleme ist process_string seit 3.2.1@34
            optional.

SIEHE AUCH:

        notify_fail(E), closures(LPC), get_bb_uid(M)


UNItopia (mudadm@UNItopia.de)