blob: 8f43053454c37bb954448171c765a0e32c297cd9 [file] [log] [blame]
Zesstra9ef23d02020-09-03 19:48:47 +02001OPTIONAL
2SYNOPSIS
3 string process_string(string str)
4
5BESCHREIBUNG
6 Durchsucht den String <str> nach "value by function call", das
7 heisst nach @@, gefolgt von einem impliziten Funktionsaufruf. Siehe
8 auch "value_by_function_call" im Prinzipien-Teil der Enzy.
9
10 Der Wert sollte eine String in dieser Form enthalten:
11 @@function[:filename][|arg|arg]@@
12
13 <function> muss einen String zurueckliefern, sonst wird der zu
14 verarbeitende String unveraendert zurueck geliefert.
15
16 process_string() fuehrt keine Rekursion ueber zurueck gelieferte
17 Werte durch: wenn eine Funktion wiederum eine implizite Funktion
18 zurueckliefert, wird diese zweite Funktion nicht mehr verarbeitet.
19
20 Sowohl <filename> wie auch die Argumente <arg> sind optional.
21
22BEISPIELE
23 string foo(string str) {
24 return "ab"+str+"ef";
25 }
26
27 void func() {
28 write(process_string("@@foo|cd@@"+"\n");
29 }
30
31 func() gibt jetzt an den Benutzer den String "abcdef" aus.
32
33FEHLER
34 Die Verwendung von process_string() kann massive Sicherheitsprobleme
35 verursachen.
36
37GESCHICHTE
38 Wegen der Sicherheitsprobleme ist process_string() seit 3.2.1@34
39 optional.
40
41SIEHE AUCH
42 notify_fail(E), closures(LPC), get_bb_uid(M)
43