Αναφορές
Προηγ | Κεφάλαιο 6. Προγραμματισμός με GEL | Επόμενο

## Αναφορές

Μπορεί να είναι απαραίτητο για μερικές συναρτήσεις να επιστραφούν περισσότερες από μία τιμές. Αυτό μπορεί να επιτευχθεί επιστρέφοντας ένα διάνυσμα τιμών, αλλά πολλές φορές, είναι βολικό να χρησιμοποιήσετε το πέρασμα μιας αναφοράς σε μια μεταβλητή. Περνάτε μια αναφορά σε μια μεταβλητή σε μια συνάρτηση και η συνάρτηση θα ορίσει τη μεταβλητή για σας χρησιμοποιώντας μια αποαναφορά. Δεν πρέπει να χρησιμοποιείτε αναφορές μόνο για αυτόν το σκοπό, αλλά αυτή είναι η κύρια χρήση τους.

Όταν χρησιμοποιείτε συναρτήσεις που επιστρέφουν τιμές μέσα από αναφορές στη λίστα ορισμάτων, περάστε απλά το όνομα της μεταβλητής με ένα & (εμπορικό και). Για παράδειγμα, ο παρακάτω κώδικας θα υπολογίσει μια ιδιοτιμή ενός πίνακα `A` με αρχική πρόβλεψη ιδιοδιανύσματος `x` και αποθήκευση της υπολογισμένου ιδιοδιανύσματος στη μεταβλητή με όνομα `v`:

    RayleighQuotientIteration (A,x,0.001,100,&v)

Οι λεπτομέρειες του πώς δουλεύουν οι αναφορές και η σύνταξη είναι παρόμοιες με τη γλώσσα C. Ο τελεστής `&` αναφέρεται σε μια μεταβλητή και το `*` αποαναφέρει μια μεταβλητή. Αμφότεροι μπορούν να εφαρμοστούν μόνο σε ένα αναγνωριστικό, έτσι το `**a` δεν είναι επιτρεπτή παράσταση στο GEL.

Οι αναφορές εξηγούνται καλύτερα με ένα παράδειγμα:

    a=1;
    b=&a;
    *b=2;

τώρα η `a` περιέχει 2. Μπορείτε επίσης να αναφέρετε συναρτήσεις: το

    function f(x) = x+1;
    t=&f;
    *t(3)

μας δίνει 4.

Προηγ | Πάνω | Επόμενο
Επιστροφή | Αρχή | Lvalues (αριστερές τιμές)