0

Array als Parameter in Funktion

Hallo Zusammen,

wie kann ich ein Array an eine selbstdefinierte Funktion übergeben? Alle meine Versuche mir den Datentyp auszudenken haben versagt - was ich eigentlich will ist etwas wie

function machWasMitArray(meinArray : text[]) do

klappt aber nicht. :( Hat jemand die Lösung für mich?

VG Frank

4 Antworten

null
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Da Array als Dateitype bei Funktionen nicht bekannt ist, behelfe ich mir momentan mit Text und anschliesend split:

    ---

    let myText:=join(myArray,"#");

    function machWasMitArray(myText:text)

    let myNewArray:=split(myText,"#");

    .

    .

    .

    end

    ---

    Dabei ist die Raute als Platzhalter, weil Kommas sehr oft in Text vorkommen.

    Leo

    • Frank_Schafer
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Vielen Dank für deine schnelle Antwort Leo - auch wenn ich irgendwie auf eine andere Antwort gehofft hatte... Aber zumindest behelfen wir uns mit dem gleichen Workarround (nur ich nehme statt # zwei || - beides nicht schlecht)

    VG Frank

    • Peter_Gaede.2
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Zwar ist der letzte Eintrag schon über ein Jahr alt, aber egal... ;)

     

    Um in Erfahrung zu bringen, ob ein Element in einem Array enthalten ist, kann man es so machen:

    function index_of(myArrayString : text,myItem : text) do
        let myIndex := index(myArrayString, myItem);
        if myIndex > -1 then
            cnt(split(substr(myArrayString, 0, myIndex), “#”))
        else
            -1
        end
    end;

     

    Beispiel:

    let myArray := [“Test1”, “Test2”, “Test3”];
    let myArrayString = join(myArray, “#”);
    let myIndex := index_of(join(myArray, “#”), “Test2”);

    • Peter_Gaede.2
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Nachtrag: myIndex ist 0-basiert.