W końcu zrozumiałem / odkryłem, dlaczego nigdy nie byłem w stanie prawidłowo używać zakresu rozszerzenia nawiasów klamrowych bash
(a także zsh
): składnia jest {1..10}
zamiast tego, co uważałem za elipsę , tj {1...10}
.
Czy mogę wiedzieć, dlaczego wybrano dwie kropki zamiast trzech kropek? Wykorzystanie elipsy w programowaniu komputerowym jest powszechne i dobrze rozumiane, jak wskazuje link (Wikipedia), dlatego wzbudziło to moją ciekawość.
n1..n2
w programowaniu do oznaczania zakresu od n1 do n2 znacznie wyprzedza Perl. Patrz instrukcja użytkownika Pascal z 1970 r., Sekcja 6.1.2 na stronie 17 ...
vs. kontra...
do włączenia właściwego punktu końcowego lub nie, ale mogę się mylić. (Ruby? Czy to był Ruby?)Odpowiedzi:
(zamiast tego publikuje jako wiki społeczności, dzięki wkładowi w komentarzach)
W książce From Bash to Z Shell (Rozdział 8, Strona 186, „ Generowanie liczb za pomocą nawiasów klamrowych ”) wspomniano, że ta składnia została zapożyczona z Perla .
Ponadto sugeruje się również, że Pascal miał
..
notację zasięgu już w 1970 r. (Moje podkreślenie) („ Pascal Language Programming ”, Rozdział 6.1.2, strona 17 w dołączonym pliku PDF).Podsumowując, nawet link Wikipedii z pytania podał kilka przykładów
..
użycia. Założenie , że elipsa jest ściśle zdefiniowany jako sekwencja trzech kropek, jak to jest jako znak interpunkcyjny , nie trzyma tutaj prawdziwe.źródło