IT박스

std :: iota의 iota는 무엇을 의미합니까?

itboxs 2020. 7. 7. 07:56
반응형

std :: iota의 iota는 무엇을 의미합니까?


"i"가 증가하고 "a"가 할당되었다고 가정하지만 답을 찾거나 찾을 수 없습니다. 또한 itoa혼란스러워하는 비표준과 매우 유사합니다 .


에서 원래 SGI의 STL 문서 :

iota라는 이름은 프로그래밍 언어 APL에서 가져 왔습니다.

그의 Turing Award 강의에서 Ken Iverson (APL의 발명가)은 다음과 같이 말했습니다.

예를 들어 로 표시되는 정수 함수 는 인수에 적용될 때 ι첫 번째 n정수로 구성된 벡터를 생성합니다 n.

ι이다 소문자 그리스 문자 이오타 .

내가 입력 한 위의 인용에서 ι, U + 03B9, "그리스의 SMALL LETTER IOTA" 하지만 유니 코드가 실제로 APL의 이오타를위한 전용 코드 포인트를 가지고 있다 U + 2373, "APL 기능성 SYMBOL IOTA" .


주석가의 요구에 부응하여이 맥락에서“iota”의 어원을 추가로 다루겠습니다.

가장 가능성이 높은 대답은 Ken Iverson이 사용자에게“정수”라는 단어와 문자“i”를 일반적인 정수 변수, 특히 배열 첨자에 사용하는 것을 상기시키는 기호를 원한다는 것입니다.

그러나 더 깊은 의미가 있다고 가정 해 봅시다.

옥스포드 영어 사전 (Oxford English Dictionary)에 따르면,“iota”는“로마 I, i에 해당하는 그리스 문자 I의 이름입니다. 그리스어 알파벳의 가장 작은 문자”(알파벳순이 아닌 물리적으로 가장 작은 문자), 그리고“최소 또는 매우 작은 입자 또는 수량”을 의미합니다. 이 의미에 대한 OED의 최초 알려진 사용법은 1636 년 Daniel Featley의 Clavis mystica에서 나온 것입니다.

우리는 하나님의 책의 요오 타나 잡담을 잃어 버릴 것인가, 아니면 지나칠 것인가?

Clavis mystica 는 성서의 일부에 대한 안내서이며,이 문장은 특히 마태 복음 5:18을 참조합니다. 킹 제임스 버전 1611 년 판에는 마태 복음 5:18에 대한이 본문이 있습니다 .

마태 복음 5:18

전사:

진실로 내가 너희에게 말하기를, 허우 엔과 땅이 지나갈 때까지, 하나의 요 오트 나 하나의 칭호도, 모든 것이 성취 될 때까지 법에서 현명하게 통과해서는 안된다.

OED는 "iot"와 같은 다른 형태의 "jot"으로 "iote"를 제공하는데,이 단어는 "iota"와 같이 해당 문자의 그리스어 이름 인 "ἰῶτα"에서 유래합니다. Featley가“iote”를“iota”로 변경 한 이유는 무엇입니까? 안타깝게도 개인 도서관 Clavis mystica 사본이 없으므로 더 이상 조사 할 수 없습니다.

마태 복음 5:18의 그리스어에서“iote”는“ἰῶτα”이고,“title”(또는보다 현대적으로“tittle”)은“κεραία”입니다. "κεραία"라는 단어는 대략 "분리하다"또는 "아포스트로피"를 의미했습니다. 따라서이 성구 는 가장 작은 세부 사항 에 대한 개념을 언급하고 있으며 “ἰῶτα”를 사용하여 그리스 알파벳의 물리적으로 가장 작은 문자로서의 역할을하는 이오타 문자를 언급합니다.

따라서 우리는 STL 함수 iota와 APL 선행어 가 그리스어 알파벳“ι”의 물리적으로 가장 작은 문자의 이름을 따서 이름을 붙인 것으로 추정 할 수 있습니다. 분리된다.

Wikipedia에 따르면 그리스 문자 iota는 페니키아 문자 yōdh에서 나왔습니다.

이것은 현재이 질문에 가고 싶은 프로그래밍 분야입니다.


숫자 또는 단위 벡터 집합을 나타 내기 위해 수학에서 사용되는 그리스 문자입니다. C ++의 경우 생성 된 벡터 세트를 얻게됩니다. itoa와 관련이 없습니다.


std::iota 반복적으로 증가하는 값으로 반복자 범위를 채 웁니다.

특정 질문에 대답하기 위해 실제로는 아무것도 의미하지 않습니다. 이오타 (영어로 "eye-oh-duh"로 발음 됨) 는 수학 의미가있는 그리스 문자입니다.

C ++ 11에서는 표준이지만 이전 표준에서는 그렇지 않습니다.


아, 나는 항상 std::iota(start,end,0)본질적으로

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

그런 다음 본질적으로 각 배열 요소에 "i를 할당"하고 iota는 i에 대해 그리스어이므로 여기에 있습니다.

(@robmayoff의 답변에 언급 된 APL 선택의 이론적 근거인지는 놀라지 않을 것입니다 .)

참고 URL : https://stackoverflow.com/questions/9244879/what-does-iota-of-stdiota-stand-for

반응형