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


146

「i」はインクリメントで「a」は割り当てであると想定していますが、答えがわかりませんでした。また、それはitoa私が混乱していると思う非標準に非常に似ています。


10
おそらくAPLから?ギリシャ文字のイオタは、連続した整数のベクトルを生成するために使用されました。
cmbuckley

3
混乱を招くと思われる場合、Google Goはiota<s> keyword </ s>を特別に宣言した識別子を作成します。その値は定義ごとに1回インクリメントされますが、定数を定義しているときのみです。
Potatoswatter

3
itoa混乱について同意した。私も同じ思いでした。
NHDaly 2013年


1
おかしい、私はどういうわけかその名前は「アトイ」を逆に取ることに由来するものだと思っていました。本当に意味がありません。
ペッター、2016年

回答:


184

元のSGIのSTLのドキュメント

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

チューリング賞の講演で、ケンアイバーソン(APLの発明者)は次のように述べています。

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

それιギリシャ語の小文字のイオタです。

、私が入力した上記の引用ではιU + 03B9、「GREEK SMALL LETTER IOTA」が、Unicodeは実際にAPLのイオタのための専用のコード・ポイントがあります。あるU + 2373、「APL FUNCTIONAL SYMBOL IOTA」


コメントの要求に応えて、私はこの文脈における「イオタ」の語源をさらに取り上げます。

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

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

オックスフォード英語辞典によると、「iota」は「ギリシャ語の文字の名前Ι、ιで、ローマ字I、iに対応しています。ギリシャ語のアルファベットの最小文字」(物理的には最小で、アルファベット順ではなく、私は推測します)、「最小または非常に小さい粒子または数量」も意味します。この意味のOEDの最も初期の既知の使用法は、1636年にDaniel Featleyによって作成されたClavis mysticaによるものです。

私たちは神のBookeのイオタまたはタイトルを失うか、まもなく通り過ぎますか?

クラビスミスティカは聖書の一部へのガイドであり、この文は特にマタイ5:18を参照しています。キングジェームスバージョンの1611版には、マタイ5:18に関する次のテキストがあります

マタイ5:18

文字起こし:

本当に私はあなたにvntoと言います、heauenとearth passe、1つのioteまたは1つのタイトルは、すべてが満たされるまで、法律から決して過ぎ去ってはなりません。

OEDは、「iote」を「jot」の別の形式として提供します。これは、「iota」のように、問題の文字のギリシャ語の名前「ἰῶτα」に由来します。なぜFeatleyは「iote」を「iota」に変更したのですか?悲しいことに、私は個人のライブラリーにClavis mysticaのコピーを持っていないので、それをさらに調査することはできません。

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

したがって、STL関数iotaとそのAPL先行詞は、ギリシャ語のアルファベット「ι」の物理的に最小の文字にちなんで名付けられたと推測できます。分離される。

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

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


6
では、なぜタイプミスを導入したのですか?;-)
subsub

5
しかし、これは単に質問を少し押し戻します:なぜAPLはこの関数を呼び出したのですか?
Daniel H

1
APLがイオタを使用したのは、少なくとも英語では、測定可能な最小量を意味するからです(たとえば、「1つのイオタは気にしません」)。
エイドリアンマッカーシー

クールな談話!「イオタ」対「イオテ」対「ジョット」の議論について、ここでコメントさせてください。古代の言語では、IとJの文字は区別されていませんでした。Jはギリシャ語のアルファベットでもローマ字でもないため、基本的に3つの文字起こしはすべて同じ文字を参照していました。WPの記事によれば、「⟨i⟩と⟨j⟩を明確に区別した最初の英語の本は1633年に出版された」ということです。
Peter K

29

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


23

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

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

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


3
英語以外のほとんどのスピーカーと私はそれを「eye-oh-duh」とは発音しません
phuclv

アイヨットああ?私は1つのイオタ(私は本当に:))気にしない
ウィル

5
@LưuVĩnhPhúc少なくとも1人のネイティブスピーカーが「eye-oh-duh」とも発音しないことを確認できます-「eye-oh-tuh」と言います(「uh」は真ん中の未分化母音「ə」です) "math-ə-matical"の例)
Martin Bonnerがモニカをサポートする

4

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

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

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

(それが@robmayoffの回答で述べられているAPLの選択の理論的根拠であったとしても、私は驚かないでしょうが、それが事実であるかどうかはわかりません。)


1

私はこのページから引用します:このテーマについてもっと知ることができるイオタシャミング

STLはケンIversonのAPLに関する作業に大きく影響されました。1979年のケンのチューリング賞講演では、次のフレーズが見つかります。

「たとえば、ιで表される整数関数は、最初のN個の整数のベクトルを生成します。」

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