Rückgabewert von Funktionen

Gast #4371736
Klar.
In der Visual Basic Hilfe findest Du :
   You return an array the same way you return any other data type.
   You supply the array type as the return type of the procedure or 
property.
Gast #4371739
Hans schrieb:
> und vllt sogar mehrere?

Die Funktion kann einen Zeiger übergeben. Dieser Zeiger kann auf alles 
mögliche zeigen, auch auf ein Array oder eine Struktur von Arrays.

Allerdings ist es oft sinnvoller, der Funktion das/die Arrays "by 
Reference" als Parameter zu übergeben, und die Funktion ändert dann das 
übergebene Array.
Gast #4371780
Hans schrieb:
> HAllo,
>
> ist es möglich von einer Funktion ein Array zu übergeben?
>
> und vllt sogar mehrere?

Man kann sogar ganze 'dictionaries' zurück geben.
Aber auch lists, tuples, und Kombinationen derselben, usw.
Moderator #4372455
Hans schrieb:
> ist es möglich von einer Funktion ein Array zu übergeben?

Natürlich.

> und vllt sogar mehrere?

Wieviele hättest du denn gerne?

Zwei? Beliebig viele? Unendlich viele?

Alles geht :)


Hier ist ein kleines Beispiel in Haskell, das Binomialkoeffizienten
berechnet und in Arrays speichert:

1
import Data.Array
2

3
-- Array mit Binomialkoeffizienten (n über k) für k = 0..n
4
binCoeffArray n = listArray (0,n) $ scanl (\b k -> b * (n+1-k) `div` k) 1 [1..n]
5

6
-- Zwei (ein Paar von) Arrays mit Binomialkoeffizienten
7
binCoeffArrayPair n1 n2 = (binCoeffArray n1, binCoeffArray n2)
8

9
-- Viele (eine Liste von) Arrays mit Binomialkoeffizienten
10
binCoeffArrayList = map binCoeffArray
11

12
-- Beispiele
13
arr          = binCoeffArray 4              -- einzelnes Array
14
(arr1, arr2) = binCoeffArrayPair 3 5        -- zwei Arrays als Paar
15
arrList      = binCoeffArrayList [3, 5, 6]  -- drei Arrays als Liste
16
infArrayList = binCoeffArrayList [0..]      -- unendliche viele Arrays als Liste
17
                                            -- (Pascalsches Dreieck)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.