Verkettung

Im Formale Sprachtheorie und Computerprogrammierung, String-Verkettung Ist der Betrieb des Verbindungs Charakterzeichenfolgen Ende zu Ende. Zum Beispiel ist die Verkettung von "Schnee" und "Ball" "Snowball". In bestimmten Formalisierungen von Verkettungstheorie, auch als String -Theorie bezeichnet, String -Verkettung ist a primitive Begriff.

Syntax

In vielen Programmiersprachen, String -Verkettung ist a binär Infixbetreiber. Das + (plus) Operator ist oft überladen Zeugnis von Verkettung für String -Argumente: "Hallo" + "Welt" hat den Wert "Hallo Welt". In anderen Sprachen gibt es einen separaten Operator, insbesondere um die implizite Typumwandlung in die String anzugeben, im Gegensatz zu komplizierterem Verhalten von Generic Plus. Beispiele beinhalten . in Edinburgh Imp, Perl und PHP, .. in Lua, und & In ADA, Apfelskript und Visual Basic.[1] Andere Syntax existiert wie || in pl/i und Oracle -Datenbank Sql.[2]

In einigen Sprachen, insbesondere C, C ++ und Python, gibt es da String buchstäbliche Verkettung, was bedeutet, dass angrenzend String -Literale werden verkettet, ohne Operator: "Hallo Welt" hat den Wert "Hallo Welt". In anderen Sprachen wird die Verkettung von String -Literalen mit einem Operator zur Kompilierung über die Zeit bewertet Konstante FaltungObwohl dies häufig ein Implementierungsdetail des Compilers ist, anstatt eines Sprachmerkmals.

Implementierung

Bei der Programmierung tritt die String -Verkettung im Allgemeinen zur Laufzeit auf, da die Zeichenfolgenwerte normalerweise erst in der Laufzeit bekannt sind. Im Fall von String -Literalen sind die Werte jedoch zum Kompilierungszeit bekannt, und somit kann eine String -Verkettung zum Kompilieren der Kompilierzeit durchgeführt werden String buchstäbliche Verkettung oder über Konstante Faltung.

Verkettung von Stringsmengen

Im Formale Sprachtheorie und Musteranpassung (einschließlich Reguläre Ausdrücke), der Verkettungsvorgang an Saiten ist wie folgt auf einen Betrieb auf Sätzen verallgemeinert:

Für zwei Sätze Saiten S1 und S2, das Verkettung S1S2 besteht aus allen Saiten der Form VW wo v ist eine Zeichenfolge von S1 und w ist eine Zeichenfolge von S2oder formell S1S2 = {{ VW: vS1, wS2 }. Viele Autoren verwenden auch eine Verkettung eines String -Sets und einer einzigen String und umgekehrt, die ähnlich definiert werden durch S1w = {{ VW: vS1 } und vs2 = {{ VW: wS2 }. In diesen Definitionen die Zeichenfolge VW ist die gewöhnliche Verkettung von Strings v und w wie im Einführungsabschnitt definiert.

Zum Beispiel wenn F = {a, b, c, d, e, f, g, h}, und R = {1, 2, 3, 4, 5, 6, 7, 8}, dann Fr bezeichnet das Set von allen Schachbrett Koordinaten in Algebraische Notation, während eR bezeichnet die Menge aller Koordinaten der Könige ' Datei.

In diesem Zusammenhang werden Saiten häufig als formale Sprachen bezeichnet. Der Verkettungsoperator wird normalerweise als einfaches Gegenüberstellung ausgedrückt (wie mit Multiplikation).

Algebraische Eigenschaften

Die Saiten über einem Alphabet mit der Verkettungsoperation bilden eine assoziativ Algebraische Struktur mit Identitätselement der NULL -Saite-a Freies Monoid.

Saiten mit Verkettung und Wechsel Form a Seming, mit Verkettung (*) Verbreitung Überwechselung (+); 0 ist das leeres Set und 1 der Satz, der nur aus der Null -Zeichenfolge besteht.

Anwendungen

Audio/Telefonie

Bei der Programmierung für Telefonie wird eine Verkettung verwendet, um einem Benutzer dynamisches Audio -Feedback zu geben. Zum Beispiel in einer "Tageszeit" sprechende UhrDie Verkettung wird verwendet, um die richtige Zeit zu geben, indem die entsprechenden Aufnahmen abgespielt werden verkettet zusammen. Zum Beispiel:

  • "Zum Ton wird die Zeit sein"
  • "Acht"
  • "Dreißig"
  • "Fünf"
  • "und"
  • "Zwanzig"
  • "Fünf"
  • "Sekunden"

Die Aufnahmen selbst existieren getrennt, aber das Spielen, nachdem der andere dem Hörer einen grammatikalisch korrekten Satz liefert.

Diese Technik wird auch in Zahlenänderungsankündigungen verwendet. Voicemail Systeme oder die meisten Telefonie -Anwendungen, die dem Anrufer ein dynamisches Feedback geben (z. Bewegung, Sag mir, und andere).

Das Programmieren für jede Art von computergestütztem öffentlichen Adresssystem kann auch eine Verkettung für dynamische öffentliche Ankündigungen (z. B. Flüge in einem Flughafen) einsetzen. Das System würde die Rede von Zahlen, Routen oder Fluggesellschaften, Zielen, Zeiten usw. Archivieren und sie in einer bestimmten Reihenfolge zurückspielen, um einen grammatikalisch korrekten Satz zu erzeugen, der in der gesamten Einrichtung angekündigt wird.

Datenbanktheorie

Eines der Prinzipien von relationale Datenbank Das Design ist, dass die Felder von Datentabellen ein einzelnes Merkmal des Subjekts der Tabelle widerspiegeln sollten, was bedeutet, dass sie keine verketteten Saiten enthalten sollten. Wenn die Verkettung in einem Bericht gewünscht wird, sollte sie zum Zeitpunkt der Ausführung des Berichts bereitgestellt werden. Um beispielsweise die physische Adresse eines bestimmten Kunden anzuzeigen, können die Daten Gebäudenummer, Straßenname, Gebäudenummer, Stadtname, State/Provinz Name, Postleitzahl und Ländername, z. B. "123 Fake St. APT 4, Boulder, CO 80302, USA ", das sieben Felder kombiniert. Die Datentabelle für Kunden sollte jedoch kein Feld verwenden, um diese verkettete Zeichenfolge zu speichern. Vielmehr sollte die Verkettung der sieben Felder bei der Ausführung des Berichts auftreten. Der Grund für solche Prinzipien ist, dass ohne sie die Eingabe und Aktualisierung großer Datenmengen fehleranfällig und arbeitsintensiv werden. Die getrennte Eingabe der Stadt, des Staates, der Postleitzahl und der Nation ermöglicht die Validierung des Dateneintritts (z. B. Erkennung einer ungültigen staatlichen Abkürzung). Anschließend können diese separaten Elemente zum Sortieren oder Indexieren der Datensätze verwendet werden, z. B. alle mit "Boulder" als Stadtname.

Freizeitmathematik

Im Freizeitmathematik, viele Probleme betreffen die Eigenschaften von Zahlen unter Verkettung ihrer Ziffern in einigen Base. Beispiele beinhalten Hausprimzahlen (Primzahlen, die durch wiederholte Berücksichtigung der zunehmenden Verkettung von Primfaktoren einer bestimmten Zahl erhalten wurden), Smarandache -Wellin -Zahlen (Die Verkettungen der ersten Primzahlen), und die Champernowne und Copeland -erdős Konstanten (Die realen Zahlen, die durch die Dezimalrepräsentationen der entstanden sind positive ganze Zahlen und die Primzahlen).

Siehe auch

Verweise

  1. ^ "Verkettungsoperatoren in Visual Basic". .NET Visual Basic Guide Sprachfunktionen: Operatoren und Ausdrücke. Microsoft. 2015.
  2. ^ "Verkettungsoperator". Oracle -Datenbank Online -Dokumentation, 10G Release 2 (10.2) / Administration: Datenbank SQL Referenz. Orakel.