ldmud-3.3.719/
ldmud-3.3.719/doc/
ldmud-3.3.719/doc/efun.de/
ldmud-3.3.719/doc/efun/
ldmud-3.3.719/doc/man/
ldmud-3.3.719/doc/other/
ldmud-3.3.719/mud/
ldmud-3.3.719/mud/heaven7/
ldmud-3.3.719/mud/lp-245/
ldmud-3.3.719/mud/lp-245/banish/
ldmud-3.3.719/mud/lp-245/doc/
ldmud-3.3.719/mud/lp-245/doc/examples/
ldmud-3.3.719/mud/lp-245/doc/sefun/
ldmud-3.3.719/mud/lp-245/log/
ldmud-3.3.719/mud/lp-245/obj/Go/
ldmud-3.3.719/mud/lp-245/players/lars/
ldmud-3.3.719/mud/lp-245/room/death/
ldmud-3.3.719/mud/lp-245/room/maze1/
ldmud-3.3.719/mud/lp-245/room/sub/
ldmud-3.3.719/mud/lp-245/secure/
ldmud-3.3.719/mud/sticklib/
ldmud-3.3.719/mud/sticklib/src/
ldmud-3.3.719/mudlib/deprecated/
ldmud-3.3.719/mudlib/uni-crasher/
ldmud-3.3.719/pkg/
ldmud-3.3.719/pkg/debugger/
ldmud-3.3.719/pkg/diff/
ldmud-3.3.719/pkg/misc/
ldmud-3.3.719/src/
ldmud-3.3.719/src/autoconf/
ldmud-3.3.719/src/ptmalloc/
ldmud-3.3.719/src/util/
ldmud-3.3.719/src/util/erq/
ldmud-3.3.719/src/util/indent/hosts/next/
ldmud-3.3.719/src/util/xerq/
ldmud-3.3.719/src/util/xerq/lpc/
ldmud-3.3.719/src/util/xerq/lpc/www/
ldmud-3.3.719/test/generic/
ldmud-3.3.719/test/inc/
ldmud-3.3.719/test/t-0000398/
ldmud-3.3.719/test/t-0000548/
ldmud-3.3.719/test/t-030925/
ldmud-3.3.719/test/t-040413/
ldmud-3.3.719/test/t-041124/
ldmud-3.3.719/test/t-language/
SYNOPSIS
        mixed *sort_array(mixed *arr, string wrong_order)
        mixed *sort_array(mixed *arr, string wrong_order, object|string ob)
        mixed *sort_array(mixed *arr, string wrong_order, object|string ob
            , mixed extra...)
        mixed *sort_array(mixed *arr, closure cl)
        mixed *sort_array(mixed *arr, closure cl, mixed extra...)

BESCHREIBUNG
        Erzeugt eine flache Kopie des Arrays <arr> und sortiert die Kopie
        entweder nach der Ordnungsfunktion <ob->wrong_order(a, b)> oder nach
        der Closure cl. Das sortierte Array wird als Ergebnis zurueck
        geliefert.

        Wenn das Argument <arr> 0 ist, ist das Resultat der Funktion auch 0.

        <ob> ist das Objekt, in dem die Ordnungsfunktion <wrong_order()>
        aufgerufen wird. <ob> kann das Objekt als solches enthalten, oder
        einen String mit dem Objektnamen. Wird <ob> nicht angegeben, oder
        enthaelt es weder einen String noch ein Objekt, wird stattdessen
        this_object() verwendet.

        Die Elemente von <arr> werden paarweise an die Ordnungsfunktion
        <wrong_order()> als Argumente uebergeben, gefolgt von den <extra>
        Argumenten, falls vorhanden. Die Ordnungsfunktion <wrong_order> sollte
        eine positve Zahl liefern, wenn die paarweisen Elemente in der
        falschen Reihenfolge waren, 0 oder eine negative Zahl sonst.

BEISPIELE
        Um folgendes Array in aufsteigender Reihenfolge zu ordnen:

            arr = ({ 3, 8, 1, 3 })

        wird als Ordnungsfunktion is_greater() verwendet:

            int is_greater (int a, int b)
            {
                return a > b;
            }

        Folgende Aufrufe von sort_array() sind alle aequivalent:

            sort_array(arr, "is_greater", this_object())
            sort_array(arr, "is_greater")
            sort_array(arr, #'is_greater)
            sort_array(arr, #'>)  (this is the preferred variant :-)
            sort_array(arr, lambda(({'a, 'b}), ({#'>, 'a, 'b})))

        Etwas komplizierter ist es, folgendes Array aufsteigend nach dem
        zweiten Argument jedes Teilarrays zu ordnen:

            arr = ({ ({ "foo", 3 }), ({ "quux", 1 }), ... })

        Dafuer muss die Ordnungsfunktion folgende Form annehmen:

            int is_greater (mixed *a, mixed *b)
            {
                return a[1] > b[1];
            }

AENDERUNGEN
        LDMud 3.2.8 fuehrte die Moeglichkeit ein, zusaetzliche Argumente
            <extra> zu uebergeben.

SIEHE AUCH
        transpose_array(E), filter(E), map(E), alists(LPC)