Λειτουργίες λαμβάνουν συνήθως μια λίστα των επιχειρημάτων , εκτελέσει τον κώδικα, με βάση τα επιχειρήματα αυτά , και είτε να εκτελέσει μια λειτουργία ή επιστρέφει μια τιμή . Όταν μια συνάρτηση επιστρέφει μια τιμή , αυτό σημαίνει ότι η λειτουργία κατά μία έννοια εξάγει μία τιμή , η οποία ένας προγραμματιστής μπορεί να εκχωρήσει σε μια μεταβλητή ή τη χρήση σε ένα άλλο υπολογισμό. Η τιμή επιστροφής μπορεί να είναι ένα βαθμωτό τύπο δεδομένων ( όπως ένα ακέραιος αριθμός) , ή ένα αντικείμενο . Για παράδειγμα , η ακόλουθη συνάρτηση παίρνει έναν αριθμό και επιστρέφει τον αριθμό , πολλαπλασιαζόμενο επί τρία :
λειτουργία τριπλή ( x )
{
επιστρέψει x * 3 ?
}
εικόνων Φωλιά Λειτουργίες
Η
Μέσα σε μια λειτουργία , ο προγραμματιστής μπορεί να καθορίσει ακόμη λειτουργία για να εκτελέσει κάποια εργασία . Η διαδικασία ορισμού είναι ακριβώς το ίδιο , αλλά η χρήση της λειτουργίας διαφέρει . Όταν ένας προγραμματιστής δηλώνει μια λειτουργία σε παγκόσμια εμβέλεια , μπορεί να χρησιμοποιήσει αυτή τη λειτουργία σε όλο το πρόγραμμα . Όταν ένας προγραμματιστής δηλώνει μια λειτουργία μέσα σε μια άλλη λειτουργία , ωστόσο , το μόνο μέρος που μπορεί να χρησιμοποιήσει αυτή τη λειτουργία είναι μέσα στη συνάρτηση αυτή δήλωσε in Το ακόλουθο παράδειγμα απεικονίζει αυτό το σημείο :
λειτουργία τριπλή ( x )
{
addThree λειτουργία ( y ) {
y επιστροφής + y + y ?
}
επιστρέψει addThree ( x ) ? //επιστρέφει το αποτέλεσμα της επιστροφής " addThree "
}
διπλή λειτουργία ( x )
{
addThree ( x ) ? //παράνομη , addThree μπορεί να να κληθεί μόνο μέσα από το «τριπλό » λειτουργία
Η Μεταβλητές και ένθετες συναρτήσεις
Η
ο λόγος λειτουργίες δεν μπορεί να θέσει οποιεσδήποτε λειτουργίες που δηλώνονται μέσα άλλες λειτουργίες είναι διότι η εσωτερική λειτουργία δεν είναι στο εξωτερικό λειτουργίες " πεδίο ". Η λειτουργία " addThree " υπάρχει στο πεδίο της «τριπλό » λειτουργία. και το "διπλό " λειτουργία είναι εκτός του πεδίου εφαρμογής τρίκλινα , και δεν μπορούν να έχουν πρόσβαση τα εσωτερικά μέρη της . Ωστόσο , « addThree " είναι μέσα πεδίο " τριπλό », κι ως εκ τούτου, μπορούν να έχουν πρόσβαση τα εσωτερικά της « τριπλής ». Αυτό σημαίνει ότι οι μεταβλητές που δηλώνονται σε " τριπλό" είναι δίκαιο να χρησιμοποιήσουν για " addThree , " και η λειτουργία θα μπορούσε να μοιάζει με αυτό :
λειτουργία τριπλή ( x )
{
addThree λειτουργία () {
επιστρέψει x + x + x ?
}
επιστρέψει addThree εικόνων
Επιστρέφοντας Άλλες λειτουργίες
Η
από λειτουργίες είναι αντικείμενα , μια συνάρτηση μπορεί να επιστρέψει μια λειτουργία και όχι δεδομένα . Αυτό σημαίνει ότι ορισμένες λειτουργίες μπορεί να πάρει στοιχεία για να δώσει σε άλλους , ένθετες συναρτήσεις , και να επιστρέψει αυτές τις λειτουργίες . Στη συνέχεια , ο προγραμματιστής μπορεί να καλέσει την εσωτερική λειτουργία από έξω από το πεδίο των εξωτερικών λειτουργίες . Το ακόλουθο παράδειγμα περιγράφει λεπτομερώς πώς αυτό λειτουργεί :
λειτουργία έξω ( x ) {
add λειτουργία ( y )
επιστρέψει x + y ?
}
επιστρέψουν στο εσωτερικό ?
}
x = out ( 3 ) ? //x κατέχει πλέον το αντικείμενο λειτουργίας "add ( y ) ", το οποίο έχει μια τιμή x 3
y = x ( 2 ) ? //x = " προσθήκη ( 2 ) ", το οποίο είναι 3 + 2 , οπότε y = 5
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα