web-dev-qa-db-ja.com

std :: iotaのiotaは何を表していますか?

「i」が増分で「a」が割り当てであると想定していますが、答えを見つけられないか、見つけることができませんでした。また、混乱していると思う非標準のitoaに非常によく似ています。

123
Jesse Good

元のSGI STLドキュメント から:

Iotaという名前は、プログラミング言語APLに由来します。

チューリング賞の講義で、ケンアイバーソン(APLの発明者)はこう言った:

たとえば、ιで示されるinteger関数は、引数nに適用されると、最初のn整数のベクトルを生成します。

ιギリシャ語の小文字のiota です。

上記の引用では、ι+ 03B9、“ GREEK SMALL LETTER IOTA” と入力しましたが、実際にはUnicodeにはAPLのiota専用のコードポイントがあります: is- + 2373、「APL FUNCTIONAL SYMBOL IOTA」


コメンターの要求に応えて、この文脈での「イオタ」の語源についてさらに説明します。

最も可能性の高い答えは、Ken Iversonが、単語「整数」と、特に配列添え字の典型的な整数変数としての文字「i」の使用をユーザーに思い出させる記号を望んでいたことです。

しかし、もっと深い意味があるとしましょう。

オックスフォード英語辞典によると、「iota」は「ギリシャ語の名前name、ι、ローマI、iに対応する。ギリシャ語のアルファベットの最小の文字」(アルファベット順ではなく物理的に最も小さいと思われます)、「最小の、または非常に小さい粒子または量」も意味します。この意味のOEDの最も早い既知の用法は、1636年のダニエルフィートリーによるClavis mysticaからです。

神の書のイオタや題名を失ったり、すり抜けたりしませんか?

Clavis mysticaは聖書の一部へのガイドであり、この文は特にマタイ5:18に言及しています。 キングジェームズバージョンの1611年版には、マタイ5:18のこのテキストがあります

matthew 5:18

転写:

本当に、私はあなたに言った、ティル・ハウエンとアース・パス、1人のイオテまたは1人のタイトルは、すべてが満たされるまで、法律から賢明なパスをしてはならない。

OEDは、「iote」を「jot」のもう1つの形式として提供します。これは、ギリシャ語の「ἰῶτα」から派生した「jot」のようなものです。なぜFeatleyは「iote」を「iota」に変更したのですか?残念ながら、個人ライブラリにClavis mysticaのコピーがないため、これ以上調査することはできません。

マタイ5:18の元のギリシャ語では、「iote」は「ἰῶτα」であり、「title」(より現代的には「tittle」)は「κεραία」です。 「κεραία」という言葉は、おおよそ「セリフ」または「アポストロフィ」を意味していました。ですから、この聖書の節は、最小の詳細のアイデアを参照しており、「ἰῶτα」を使用して、物理的に最小の役割の文字iotaを参照していますギリシャ語のアルファベットの手紙。

したがって、STL関数iotaとそのAPL先行詞は、ギリシャ語のアルファベット「ι」の物理的に最小の文字に基づいて、聖書によって名前が付けられていると推測できます。整数を区切ることができる最小量。

ウィキペディアによる 、ギリシャ文字イオタはフェニキア文字ヨードから来ました。

これは、私が現在この質問に行きたいと思っている限り、プログラミングの分野です。

168
rob mayoff

そのギリシャ文字は、数学で単位セットまたは単位ベクトルを示すために時々使用されます。 C++の場合、構築されたベクターセットを取得します。 itoaとは関係ありません。

29
patthoyts

std::iotaは、イテレータの範囲を連続的に増加する値で埋めます。

特定の質問に答えるために、それは実際には何も意味していません。 Iota (英語では「eye-oh-duh」と発音)は、数学的な意味を持つギリシャ文字です。

これはC++ 11の標準ですが、以前の標準ではありません。

22
Drew Dormann

ああ、私はいつもstd::iota(start,end,0)が本質的に

for(size_t i = 0; i < std::distance(start, end) ; i++) { start[i] = i; }

その後、基本的に各配列要素に「iを割り当てる」と、iotaはiにギリシャ語になるので、そこにいます。

(@robmayoffの answer で言及されているAPLの選択の根拠があったとしても驚かないでしょうが、そうであるかどうかはわかりません。)

4
einpoklum

整数にiを使用することは、FORTRAN IVに由来します。 iからnまでの文字で始まる変数は、暗黙的に- [〜#〜] in [〜#〜]初期のFortranではteger。その他はすべてreal数値です。変数は、どちらかの数値型として明示的に定義できます。

OPへの直接的な応答ではなく、他の回答やコメントに対する応答。

0
rm1948