Pourquoi la plage d'expansion de l'accolade utilise-t-elle deux points au lieu de trois (points de suspension)?


10

J'ai finalement compris / découvert pourquoi je n'ai jamais pu utiliser correctement la plage d'expansion d'accolade de bash(et aussi zshde): la syntaxe est {1..10}au lieu de ce que je supposais être une ellipse , c'est-à-dire {1...10}.

Puis-je savoir pourquoi deux points ont été choisis plutôt que trois points? L'utilisation des points de suspension dans la programmation informatique est courante et bien comprise comme l'indique le lien (Wikipedia), c'est pourquoi cela a piqué ma curiosité.


3
Apparemment , il est originaire de Perl ...
jasonwryan

3
L'utilisation de n1..n2dans la programmation pour désigner une plage de n1 à n2 est antérieure à Perl. Voir ce Manuel d'utilisation Pascal de 1970, section 6.1.2 à la page 17 .
Adaephon

1
Hé commentateurs, n'hésitez pas à transformer vos commentaires en réponses ...? :)
hjk

J'ai un vague souvenir que certaines langues utilisent maintenant même ..vs ...pour inclure le bon point de terminaison ou non, mais je peux me tromper. (Ruby? Était-ce Ruby?)
Ulrich Schwarz

3
@slm je vais devoir être en désaccord sur la raison proche ici. Les questions historiques sur la façon dont quelque chose a vu le jour ne sont pas vraiment basées sur l'opinion. Les commentaires ont déjà laissé entendre que la réponse n'est qu'une question d'histoire et malgré le "pourquoi" dans le titre, cela pourrait être répondu de manière assez solide.
Caleb

Réponses:


7

(publication en tant que wiki communautaire à la place, grâce aux contributions dans les commentaires)

Il est mentionné dans le livre From Bash to Z Shell (Chapter 8, Page 186, " Generating Numbers with Braces ") que cette syntaxe est empruntée à Perl .

De plus, il est également suggéré que Pascal avait la ..notation de plage qui remonte à 1970 (c'est moi qui souligne) (" The Programming Language Pascal ", Section 6.1.2, Page 17 du PDF lié).

En conclusion, même le lien Wikipédia de la question indiquait quelques exemples d' ..utilisation. L' hypothèse selon laquelle une ellipse est strictement définie comme une séquence de trois points, comme c'est un signe de ponctuation , ne se vérifie pas ici.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.