ldmud-3.2.9/doc/
ldmud-3.2.9/doc/efun/
ldmud-3.2.9/mud/
ldmud-3.2.9/mud/heaven7/
ldmud-3.2.9/mud/heaven7/lib/
ldmud-3.2.9/mud/lp-245/
ldmud-3.2.9/mud/lp-245/banish/
ldmud-3.2.9/mud/lp-245/doc/
ldmud-3.2.9/mud/lp-245/doc/examples/
ldmud-3.2.9/mud/lp-245/doc/sefun/
ldmud-3.2.9/mud/lp-245/log/
ldmud-3.2.9/mud/lp-245/obj/Go/
ldmud-3.2.9/mud/lp-245/players/lars/
ldmud-3.2.9/mud/lp-245/room/death/
ldmud-3.2.9/mud/lp-245/room/maze1/
ldmud-3.2.9/mud/lp-245/room/sub/
ldmud-3.2.9/mud/lp-245/secure/
ldmud-3.2.9/mud/morgengrauen/
ldmud-3.2.9/mud/morgengrauen/lib/
ldmud-3.2.9/mud/sticklib/
ldmud-3.2.9/mud/sticklib/src/
ldmud-3.2.9/mudlib/uni-crasher/
ldmud-3.2.9/pkg/
ldmud-3.2.9/pkg/debugger/
ldmud-3.2.9/pkg/diff/
ldmud-3.2.9/pkg/misc/
ldmud-3.2.9/src/autoconf/
ldmud-3.2.9/src/bugs/
ldmud-3.2.9/src/bugs/MudCompress/
ldmud-3.2.9/src/bugs/b-020916-files/
ldmud-3.2.9/src/bugs/doomdark/
ldmud-3.2.9/src/bugs/ferrycode/ferry/
ldmud-3.2.9/src/bugs/ferrycode/obj/
ldmud-3.2.9/src/bugs/psql/
ldmud-3.2.9/src/done/
ldmud-3.2.9/src/done/order_alist/
ldmud-3.2.9/src/done/order_alist/obj/
ldmud-3.2.9/src/done/order_alist/room/
ldmud-3.2.9/src/gcc/
ldmud-3.2.9/src/gcc/2.7.0/
ldmud-3.2.9/src/gcc/2.7.1/
ldmud-3.2.9/src/hosts/
ldmud-3.2.9/src/hosts/GnuWin32/
ldmud-3.2.9/src/hosts/amiga/NetIncl/
ldmud-3.2.9/src/hosts/amiga/NetIncl/netinet/
ldmud-3.2.9/src/hosts/amiga/NetIncl/sys/
ldmud-3.2.9/src/hosts/i386/
ldmud-3.2.9/src/hosts/msdos/byacc/
ldmud-3.2.9/src/hosts/msdos/doc/
ldmud-3.2.9/src/hosts/os2/
ldmud-3.2.9/src/hosts/win32/
ldmud-3.2.9/src/util/
ldmud-3.2.9/src/util/erq/
ldmud-3.2.9/src/util/indent/hosts/next/
ldmud-3.2.9/src/util/xerq/
ldmud-3.2.9/src/util/xerq/lpc/
ldmud-3.2.9/src/util/xerq/lpc/www/
Short: New efun map_replace()
From: "Dale Perkins" <dale-perkins@home.com>
Date: Sun, 4 Jul 1999 03:33:13 -0500
Type: Feature
State: Unclassified

HI, I was wondering, could you implement an efun that would take a string
and a mapping as an arg and replace all occurrences of the keys of the
mapping in the string with the value of the key? something like
map_replace("a b c d", ([ "a" : "a", "c" : "2"])) would return "1 b 2 d"

This is very similar to what terminal_colour does but without the
delimiters.

Note: Internally this would probably be best solved with by creating
a pattern (key1)|(key2)|...), and looping calls to regexp() over the string,
analyzing the internal state of regexp() whenever it finds something.


Lynx writes:

ich brauche sowas dauernd, und habe es bisher mit einer lausigen schleife
um einem sscanf herum. der zweck ist "html templates", also html fragmente
die unterschiedlich eingesetzt werden. was ich dabei ersetze ist typischer-
weise die aktuelle baseurl von bildern (weil ich bisher kein 8-bit sauberes
read_file habe.. ist das in ldmud eigentlich gefixt?) und so sachen wie
url des aktuellen objektes oder aktueller query string usw. usf.  :)

also irgendwie kann man sowas dauernd gebrauchen.. aber bei mir wäre
ein mapping womöglich gar nicht flexibel genug, manchmal muss ich die
replacements dynamisch erst auftreiben..
mach mir nur sorgen ob lpc dann noch schnell genug ist..

egal, das alles sage ich nur so FYI, als beispiel einer anwendung von
map_replace or whatever..

frohes schaffen!