Je suppose que le «i» est un incrément et le «a» est assigné, mais je n'ai pas pu comprendre ou trouver la réponse. En outre, cela ressemble beaucoup à la non-standard, itoa
ce qui, à mon avis, prête à confusion.
c++
naming-conventions
c++11
Jesse Good
la source
la source
iota
un <s> mot-clé </s> identifiant spécialement déclaré, dont la valeur est incrémentée une fois par définition, mais uniquement lorsque vous définissez des constantes.itoa
confusion; J'ai eu la même pensée.Réponses:
À partir de la documentation originale de SGI STL :
Dans sa conférence du prix Turing, Ken Iverson (inventeur de l'APL) a déclaré ceci:
ι
C'est la lettre grecque minuscule iota .Dans la citation ci-dessus, j'ai tapé
ι
, U + 03B9, «GREEK SMALL LETTER IOTA» , mais Unicode a en fait un point de code dédié pour l'iota d'APL:⍳
est U + 2373, «APL FUNCTIONAL SYMBOL IOTA» .En réponse aux demandes des commentateurs, j'aborderai plus avant l'étymologie de «iota» dans ce contexte.
La réponse la plus probable est que Ken Iverson voulait un symbole qui rappellerait à l'utilisateur le mot «entier» et l'utilisation de la lettre «i» comme variable d'entier typique, en particulier pour l'indexation des tableaux.
Mais supposons qu'il y ait une signification plus profonde.
Selon l'Oxford English Dictionary, «iota» est «Le nom de la lettre grecque Ι, ι, correspondant au roman I, i; la plus petite lettre de l'alphabet grec »(la plus petite physiquement, pas par ordre alphabétique, je présume), et signifie aussi« la moindre particule ou quantité ». La première utilisation connue de cette signification par l'OED est tirée de Clavis mystica de Daniel Featley en 1636:
Clavis mystica est un guide de parties de la Bible, et cette phrase se réfère en particulier à Matthieu 5:18. L'édition 1611 de la version King James contient ce texte pour Matthieu 5:18 :
Transcription:
L'OED donne «iote» comme une autre forme de «jot», qui (comme «iota») descend du mot grec «ἰῶτα», qui est le nom grec de la lettre en question. Pourquoi Featley a-t-il remplacé «iote» par «iota»? Malheureusement, je n'ai pas de copie de Clavis mystica dans ma bibliothèque personnelle, je ne peux donc pas enquêter davantage.
Dans le grec original de Matthieu 5:18, «iote» est «ἰῶτα», et «titre» (ou plus moderne, «tittle») est «κεραία». Le mot «κεραία» signifiait, en gros, «serif» ou «apostrophe». Donc ce verset de la Bible fait référence à l'idée des moindres détails et utilise «ἰῶτα» pour désigner la lettre iota dans son rôle de lettre physiquement la plus petite de l'alphabet grec.
Ainsi, nous pouvons en déduire que la fonction STL
iota
, et son antécédent APL⍳
, sont nommés, au moyen de la Bible, après la plus petite lettre physiquement de l'alphabet grec «ι», parce que ces fonctions produisent des entiers séparés par la plus petite quantité par laquelle les entiers peuvent être séparé.Selon Wikipédia , la lettre grecque iota provenait de la lettre phénicienne yōdh.
C'est aussi loin de la programmation que je souhaite actuellement aller pour cette question.
la source
⍳
?C'est la lettre grecque qui est parfois utilisée en mathématiques pour désigner des ensembles de nombres ou des vecteurs unitaires. Dans le cas C ++, vous obtenez un jeu de vecteurs construit. Rien à voir avec itoa.
la source
std::iota
remplira une plage d'itérateur avec des valeurs incrémentées successivement.Pour répondre à votre question spécifique, cela ne veut rien dire. Iota (prononcé "eye-oh-duh" ou "eye-oh-tuh" en anglais) est une lettre grecque avec des connotations mathématiques.
Il est standard dans C ++ 11, mais pas dans les normes antérieures.
la source
Oh, j'ai toujours eu l'impression que puisque
std::iota(start,end,0)
signifie essentiellementalors vous "assignez i" essentiellement à chaque élément du tableau, et iota est grec pour i, donc là.
(Je ne serais pas surpris si c'était la justification du choix de l'APL, mentionnée dans la réponse de @ robmayoff , bien que je ne sache pas si c'est le cas.)
la source
Je cite à partir de cette page: iotashaming où vous pouvez en savoir plus sur le sujet.
la source