Κοινή χρήση μέσω


Αφήνω

Παράσταση Let

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

παράσταση-let:
      letλίστα-μεταβλητών in έκφραση
λίστα-μεταβλητών:
      μεταβλητή
      
, λίστα-μεταβλητών
μεταβλητός:
      παράσταση ονόματος
= μεταβλητής
όνομα-μεταβλητής:
      αναγνωριστικό

Το παρακάτω παράδειγμα δείχνει ότι τα ενδιάμεσα αποτελέσματα υπολογίζονται και αποθηκεύονται σε μεταβλητές x, yκαι z , οι οποίες στη συνέχεια χρησιμοποιούνται σε έναν μεταγενέστερο υπολογισμό x + y + z:

let     x = 1 + 1,
        y = 2 + 2,
        z = y + 1 
in
        x + y + z

Το αποτέλεσμα αυτής της παράστασης είναι:

11  // (1 + 1) + (2 + 2) + (2 + 2 + 1)

Κατά την αξιολόγηση παραστάσεων εντός της παράστασης-let ισχύουν τα ακόλουθα:

  • Οι παραστάσεις στη λίστα μεταβλητών ορίζουν μια νέα εμβέλεια που περιέχει τα αναγνωριστικά από την παραγωγή λίστας-μεταβλητών και πρέπει να είναι παρούσες κατά την αξιολόγηση των παραστάσεων εντός των αποτελεσμάτων της λίστας-μεταβλητών . Οι παραστάσεις εντός της λίστας-μεταβλητών μπορεί να αναφέρονται η μία στην άλλη.

  • Οι παραστάσεις εντός της λίστας-μεταβλητών πρέπει να αξιολογηθούν πριν από την αξιολόγηση της παράστασης στην παράσταση-let .

  • Εάν δεν έχουν αξιολογηθεί οι παραστάσεις στη λίστα-μεταβλητών , δεν πρέπει να αξιολογηθούν.

  • Τα σφάλματα που προκύπτουν κατά την αξιολόγηση των παραστάσεων στην παράσταση-let μεταδίδονται.

Μια παράσταση let μπορεί να θεωρηθεί ως συντακτική ζάχαρη σε μια έμμεση παράσταση εγγραφής. Η ακόλουθη παράσταση ισοδυναμεί με το παραπάνω παράδειγμα:

[     x = 1 + 1,
      y = 2 + 2,
      z = y + 1,
      result = x + y + z 
][result]