ブレースの拡張範囲が3つ(省略記号)ではなく2つのドットを使用するのはなぜですか?


10

ようやくbash(さらにはzsh)ブレースの拡張範囲を適切に使用できなかった理由を最後に理解/発見しました。構文は{1..10}省略記号、つまりと想定したものではありません{1...10}

3つのドットよりも2つのドットが選ばれた理由を教えてください。(Wikipedia)リンクに示されているように、コンピュータープログラミングでの省略記号の使用は一般的でよく理解されているため、これが私の好奇心を刺激しました。


3
どうやら、それはPerlで始まった...
jasonwryan

3
n1..n2プログラミングでを使用してn1からn2の範囲を示すことは、 Perlよりもかなり古いものです。1970年のこのPascalユーザーマニュアルの17ページのセクション6.1.2を参照してください
Adaephon 2015年

1
コメント投稿者さん、コメントを回答に変えてください...?:)
hjk 2015年

私はいくつかの言語は今でも使用することを漠然と覚えてい..対を...右エンドポイントを含むかどうかのために、私は間違っている可能性があります。(ルビー?それはルビーでしたか?)
ウルリッヒシュヴァルツ

3
@slm私はここでの密接な理由について意見を異にする必要があります。何かがどうなってきたかについての歴史の質問は、実際には意見に基づくものではありません。コメントはすでに答えがほんの歴史の問題であることをほのめかしており、タイトルの「なぜ」にもかかわらず、これ非常にしっかりと答えることできました
カレブ2015年

回答:


7

(コメントの投稿のおかげで、代わりにコミュニティwikiとして投稿)

この構文がPerlから借用されていることは、ブックFrom Bash to Z Shell(第8章、ページ186、「Generating Numbers with Braces」)で言及されています。

さらに、Pascalの..範囲表記が1970年までさかのぼる(強調表示)こともお勧めします(「プログラミング言語Pascal」、リンクされたPDFのセクション6.1.2、17ページ)。

結論として、質問からのWikipediaのリンクでさえ、..が使用されるいくつかの例を述べています。仮定、それはようであるとして省略記号は、厳密には、3つのドットのシーケンスとして定義されていることを句読点は、ここでは当てはまりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.