Warum verwendet der Erweiterungsbereich der Zahnspange zwei statt drei Punkte (Auslassungspunkte)?

10

Ich habe endlich verstanden / entdeckt, warum ich den bash(und auch zshden) Klammererweiterungsbereich nie richtig verwenden konnte: Die Syntax ist {1..10}anstelle dessen, was ich als Ellipse angenommen habe , d {1...10}. H.

Darf ich wissen, warum zwei Punkte gegenüber drei Punkten ausgewählt wurden? Die Verwendung von Auslassungspunkten in der Computerprogrammierung ist weit verbreitet und wird gut verstanden, wie aus dem (Wikipedia) -Link hervorgeht, weshalb dies meine Neugier geweckt hat.

hjk
quelle
3
Anscheinend entstand es in Perl ...
Jasonwryan
3
Die Verwendung von n1..n2in der Programmierung zur Bezeichnung eines Bereichs von n1 bis n2 liegt einiges vor Perl. Siehe dieses Pascal-Benutzerhandbuch von 1970, Abschnitt 6.1.2 auf Seite 17 .
Adaephon
1
Hey Kommentatoren, zögern Sie nicht, Ihre Kommentare in Antworten umzuwandeln ...? :)
hjk
Ich habe eine vage Erinnerung , dass einige Sprachen jetzt auch verwenden ..vs. ...für einschließlich des Rechts Endpunkt oder nicht, aber ich kann falsch sein. (Rubin? War das Rubin?)
Ulrich Schwarz
3
@slm Ich werde hier über den nahen Grund nicht einverstanden sein müssen. Geschichtsfragen darüber, wie etwas entstanden ist, sind nicht wirklich meinungsbasiert. Kommentare haben bereits angedeutet, dass die Antwort nur eine Frage der Geschichte ist, und trotz des "Warum" im Titel könnte dies ziemlich solide beantwortet werden.
Caleb

Antworten:

7

(stattdessen als Community-Wiki posten, dank der Beiträge in den Kommentaren)

In dem Buch From Bash to Z Shell (Kapitel 8, Seite 186, " Generieren von Zahlen mit geschweiften Klammern ") wird erwähnt, dass diese Syntax von Perl entlehnt ist .

Darüber hinaus wird vorgeschlagen, dass Pascal die ..Bereichsnotation bereits 1970 hatte (Schwerpunkt Mine) (" The Programming Language Pascal ", Abschnitt 6.1.2, Seite 17 des verknüpften PDF).

Zusammenfassend gab sogar der Wikipedia-Link aus der Frage einige Beispiele an, wo ..verwendet wird. Die Annahme, dass eine Ellipse streng als eine Folge von drei Punkten definiert ist, wie es ein Interpunktionszeichen ist , trifft hier nicht zu.

hjk
quelle