Nesting (computing)

Im Informatik und Informatik, nisten[1] Dort werden Informationen in Schichten organisiert oder wo Objekte andere ähnliche Objekte enthalten. Es bezieht sich fast immer auf selbstähnlich oder rekursiv Strukturen in gewissem Sinne.

Terminologie

Nisting kann bedeuten:

In Tabellenkalkulationen

In einem Kalkulationstabelle Funktionen können sein verschachtelt eins in einen anderen, um komplexe Formeln zu machen. Der Funktionsassistent der OpenOffice.org Berechnen Die Anwendung ermöglicht das Navigieren durch mehrere Nistebenen,[Weitere Erklärung erforderlich] Lassen Sie den Benutzer jeden von ihnen separat bearbeiten (und möglicherweise korrigieren).

Zum Beispiel:

= If (sum (c8: g8) = 0, "y", "n")

In diesem Microsoft Excel Formel, die Summenfunktion ist innerhalb der IF -Funktion verschachtelt. Erstens berechnet die Formel die Summe der Zahlen in den Zellen von C8 bis G8. Anschließend entscheidet die Summe 0 und zeigt den Buchstaben y an, wenn die Summe 0 ist, und der Buchstabe n, wenn dies nicht der Fall ist.

Natürlich die mathematische Auflösung dieser angeketteten (oder besser: verschachtelt) Formeln, die inneren Ausdrücke müssen zuvor bewertet werden, und diese äußere Richtung ist unerlässlich, da die Ergebnisse, die die intern Funktionen return werden vorübergehend als Einstiegsdaten für die verwendet extern Einsen.

Aufgrund der potenziellen Akkumulation von Klammern in nur einer Codezeile, Bearbeitung und Fehlererfassung (oder Debuggen) kann irgendwie werden unangenehm. Aus diesem Grund geben moderne Programmierumgebungen - wie auch Tabellenkalkulationsprogramme - in fettem Fettdruck das Paar ein, das der aktuellen Bearbeitungsposition entspricht. Die (automatische) Ausgleichskontrolle der Eröffnungs- und Schließung Klammern, bekannt als Klammerüberprüfung.

In der Programmierung

Kontrollstrukturen

Im Strukturierte Programmierung Sprachen, nisten ist mit dem verwandt einschließen von Kontrollstrukturen einen in einen anderen, normalerweise durch verschiedene angegeben Vertiefung Ebenen innerhalb der Quellcode, wie es in diesem einfachen gezeigt wird BASIC Funktion:

Funktion Lookupcode(SCODE wie Saite) wie ganze Zahl  schwach IreturnValue wie ganze Zahl  schwach s-Linie, Spath wie Saite    Spath="C: \ test.dsv"  wenn Datei existiert(Spath) dann  offen Spath zum Eingang wie #1  tun während nicht Eof(1)  Linie Eingang #1, s-Linie  wenn SCODE=links(s-Linie, 3) dann  'Aktionen (n) auszuführen  Ende wenn  Schleife  nah dran #1  Ende wenn  Lookupcode=IreturnValue Ende Funktion 

In diesem kleinen und einfachen Beispiel ist der bedingte Block "Wenn ... dann ... enden, wenn" in der "Do the ... Loop" verschachtelt ist.

Einige Sprachen wie z. Pascal und Ada haben keine Einschränkungen für Erklärungen, abhängig von der Verschachtelungsstufe und ermöglichen genaue verschachtelte Unterprogramme oder sogar verschachtelte Pakete (ADA). Hier ist ein Beispiel für beide (von einem realen Fall vereinfacht):

- Das Problem der globalen Variablen beseitigen (kann nicht parallel verwendet werden) - aus einer Reihe alter Quellen, ohne dass der Code geändert werden musste - Logik oder Struktur. -- Verfahren Nesting_example_1 ist  Typ Buffer_type ist Array(Ganze Zahl Angebot <>) von Ganze Zahl;  Verfahren Dekomprimieren(  komprimiert  :  in Buffer_type;  dekomprimiert: aus Buffer_type  )  ist  - Hier sind die Legacy-Quellen übersetzt:  Paket X_globale ist  INDEX_IN, INDEX_OUT: Ganze Zahl;  - *** ^ Diese Variablen sind lokal zum Dekomprimieren.  -*** Jetzt Dekompress ist Aufgabensicher.  Ende X_globale;  - Methoden 1,2,3, ... (Spezifikationen)  Paket X_method_1 ist  Verfahren Decompress_1;  Ende X_method_1;  - Methoden 1,2,3, ... (Code)  Paket Karosserie X_method_1 ist  verwenden X_globale;  Verfahren Decompress_1 ist  Start  INDEX_IN: = komprimiert'Zuerst;  - Hier der Dekompressionscode, Methode 1  Ende Decompress_1;  Ende X_method_1;  - Ende der Legacy-Quellen  Start  X_method_1.Decompress_1;  Ende Dekomprimieren;  test_in, durchtesten: Buffer_type(1..10_000); Start  Dekomprimieren(test_in, durchtesten); Ende Nesting_example_1; 

Datenstrukturen

Verschachtelt Datenstrukturen werden auch häufig in der Programmierung auftreten.

Lispeln

In dem Funktionelle Programmierung Sprachen wie z. Lispeln, a aufführen Datenstruktur existiert ebenso wie ein einfacheres Atom Datenstruktur.[2]

  • Einfache Listen Halten Sie nur Atome.[2]
( A T O M S ) 

Die Atome in der Liste sind a, t, o, m und S.

  • Verschachtelte Listen Halten Sie sowohl Atome als auch andere Listen.[2]
( ( ( N E S T E D ) L I S T S ) ( C A N ) ( B E ) U N N E C E S S A R I L Y ( C O M P L E X ) ) 

Siehe auch

Verweise

  1. ^ https://study.com/academy/lesson/nesting-loops-statements-in-cprogramming.html%7ctitle=nesting Schleifen und Aussagen in der C -Programmierung
  2. ^ a b c Sebesta, Robert W. (2012). Konzepte von Programmiersprachen (drucken) (10. Aufl.). Boston, MA, USA: Addison-Wesley. p. 49. ISBN 978-0-13-139531-2.