Αφήνω
Παράσταση 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]