Почему диапазон расширения фигурной скобки использует две точки вместо трех (многоточие)?


10

Я , наконец , понял / понял , почему я никогда не получил с помощью bash«s (а также zsh» s) Диапазон фигурных скобках правильно: синтаксис {1..10}вместо того , что я предполагал быть многоточие , то есть {1...10}.

Могу ли я узнать, почему две точки были выбраны из трех точек? Использование многоточия в компьютерном программировании является распространенным и понятным, как указано в ссылке (Википедия), поэтому это пробудило мое любопытство.


3
По-видимому , это произошло в Perl ...
jasonwryan

3
Использование n1..n2в программировании для обозначения диапазона от n1 до n2 предшествует Perl совсем немного. См. Руководство пользователя Pascal от 1970 г., раздел 6.1.2 на стр. 17 .
Adaephon

1
Эй, комментаторы, не стесняйтесь превратить ваши комментарии в ответы ...? :)
hjk

У меня есть смутное воспоминание о том, что некоторые языки сейчас даже используют « ..против» ...для включения правильной конечной точки или нет, но я могу ошибаться. (Руби? Это был Руби?)
Ульрих Шварц

3
@slm Я собираюсь не согласиться с близкой причиной здесь. Исторические вопросы о том, как что-то появилось, не основаны на мнениях. Комментарии уже намекают на то, что ответ - это просто вопрос истории, и, несмотря на «почему» в названии, на этот вопрос можно ответить достаточно твердо.
Калеб

Ответы:


7

(вместо этого публикуется вики сообщества, благодаря комментариям в комментариях)

В книге From Bash to Z Shell (глава 8, стр. 186, « Создание чисел с помощью фигурных скобок ») упоминается, что этот синтаксис заимствован из Perl .

Кроме того, также предлагается, чтобы Паскаль имел ..обозначение диапазона, начиная с 1970 года (выделено мое) (« Язык программирования Pascal », раздел 6.1.2, страница 17 связанного PDF).

В заключение, даже ссылка на Википедию из вопроса ..приводит несколько примеров, где используется. Предположение , что многоточие строго определяются как последовательность из трех точек, так как это как знак препинания , не имеет места здесь.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.