Also mache ich eben das: Ich übergebe ein im Hauptcode definiertes Array als Parameter der Prozedur oder greife innerhalb der Prozedur per Shared auf das Array zu.ProcedureReturn kann nicht verwendet werden, um ein Array, eine Linked List oder eine Map zurückzuliefern, übergeben Sie zu diesem Zweck das Array, die Linked List bzw. die Map als Parameter an die Prozedur.
Dazu habe ich nun zwei Fragen:
1.) Warum kann eine Prozedur kein Array oder eine Liste ausgeben? Das wäre doch sehr praktisch. Das Schöne an einer Prozedur ist ja, dass sie aus Sicht des restlichen Codes eine Blackbox ist. Im Hauptcode muss ich mir keine Gedanken darum machen, wie eine Prozedur im Innern funktioiniert. Ich muss nur wissen, welche Parameter sie hat und was sie ausgibt. Diese schöne Funktionsweise wird hier zerstört, weil ich im Hauptcode ein Array erstellen muss, damit die Prozedur überhaupt funktioniert.
2.) Gibt es eine elegantere Lösung als das, was ich bisher mache? Wie geht man am besten damit um, wenn eine Prozedur dazu dienen soll, mehrere Zahlen, Strings, Daten, etc. zusammenzustellen und auszugeben?