2012-02-11 12 views
92

मुझे लगता है कि "मैं" बढ़ रहा है और "ए" असाइन किया गया है, लेकिन मैं जवाब नहीं ढूंढ पाया या जवाब नहीं मिला। साथ ही, यह गैर मानक itoa के समान दिखता है जो मुझे लगता है कि भ्रमित है।std :: iota के iota के लिए क्या खड़ा है?

+8

संभवतः एपीएल से? यूनानी पत्र Iota का उपयोग लगातार पूर्णांक के वेक्टर उत्पन्न करने के लिए किया गया था। – cmbuckley

+3

यदि आपको लगता है कि यह भ्रमित है, तो Google Go 'iota' को कीवर्ड विशेष रूप से घोषित पहचानकर्ता बनाता है, जिसका मान प्रति परिभाषा में एक बार बढ़ता है, लेकिन केवल तभी जब आप स्थिरांक परिभाषित कर रहे हों। – Potatoswatter

+3

'itoa' भ्रम के बारे में सहमत; मेरे पास भी ठीक यही ख्याल था। – NHDaly

उत्तर

118
the original SGI STL documentation से

:

नाम जरा भी प्रोग्रामिंग भाषा एपीएल से लिया जाता है।

In his Turing Award lecture, Ken Iverson (inventor of APL) said this:

उदाहरण के लिए, पूर्णांक समारोह ι से दर्शाया जाता है जब तर्क n, के लिए लागू किया पहले n पूर्णांकों का एक वेक्टर पैदा करता है ... ιthe lower-case Greek letter iota है

कि ।

बोली में ऊपर, मैं ι, U+03B9, “GREEK SMALL LETTER IOTA” टाइप किया है, लेकिन वास्तव में यूनिकोड एपीएल का जरा भी के लिए एक समर्पित कोड बिंदु है: U+2373, “APL FUNCTIONAL SYMBOL IOTA” है।


टिप्पणीकारों की मांगों के जवाब में, मैं आगे "आईओटा" के व्युत्पत्ति को संबोधित करता हूं।

सबसे अच्छा जवाब यह है कि केन इवर्सन एक प्रतीक चाहते थे जो "पूर्णांक" शब्द के उपयोगकर्ता को याद दिलाएगा और विशेष रूप से सरणी सबस्क्राइबिंग के लिए "i" अक्षर को एक सामान्य पूर्णांक चर के रूप में उपयोग करेगा।

लेकिन मान लीजिए कि इसका गहरा अर्थ है।

ऑक्सफोर्ड अंग्रेजी शब्दकोश के अनुसार, "आईओटा" "ग्रीक अक्षर Ι, ι का नाम है, रोमन I के अनुरूप, मैं; यूनानी वर्णमाला का सबसे छोटा अक्षर "(शारीरिक रूप से सबसे छोटा, वर्णानुक्रम में नहीं, मुझे लगता है), और इसका अर्थ है" कम से कम, या बहुत छोटा, कण या मात्रा "। इस अर्थ की OED जल्द से जल्द ज्ञात उपयोग 1636 में डेनियल फीटले द्वारा Clavis Mystica से है:

हम खो दूँ, या sleightly से गुजरती हैं, किसी भी जरा भी या भगवान का Booke की टुकड़ी?

Clavis Mystica बाइबिल के कुछ हिस्सों के लिए एक गाइड है, और इस वाक्य मैथ्यू 5:18 की चर्चा करते हुए विशेष रूप से है। The 1611 edition of the King James Version has this text for Matthew 5:18:

matthew 5:18

ट्रांसक्रिप्शन:

वास्तव में के लिए मैं आप vnto कहते हैं, heauen और पृथ्वी passe, एक iote या एक शीर्षक तक, जब तक कानून से कोई बुद्धिमान passe में करेगा, सभी हो पूरा।

OED "जोत" का एक और रूप है, जो (जैसे "जरा") ग्रीक शब्द "ἰῶτα" है, जो सवाल में पत्र के लिए ग्रीक नाम है से उतरता है के रूप में "iote" देता है। फेटली ने "आईओटी" में "आईओटी" क्यों बदल दिया? अफसोस की बात है, मेरी व्यक्तिगत लाइब्रेरी में क्लेविस मिस्टिका की एक प्रति नहीं है, इसलिए मैं इसकी जांच नहीं कर सकता।

मैथ्यू 5:18 के मूल ग्रीक में, "आईओटी" "ἰῶτα" है, और "शीर्षक" (या अधिक आधुनिक रूप से, "टिटल") "κεραία" है। शब्द "κεραία" का अर्थ है, मोटे तौर पर, "सेरिफ़" या "एस्ट्रोफ़े"। तो यह बाइबल कविता के सबसे छोटे विवरण के विचार का जिक्र कर रही है, और यूनानी वर्णमाला के शारीरिक रूप से सबसे छोटे अक्षर के रूप में अपनी भूमिका में पत्र Iota को संदर्भित करने के लिए "ἰῶτα" का उपयोग कर रही है।

इस प्रकार हम, अनुमान कर सकते हैं कि एसटीएल समारोह iota, और इसके एपीएल पूर्ववर्ती , नाम हैं, बाइबिल के माध्यम से ग्रीक वर्णमाला "ι" की शारीरिक रूप से सबसे छोटी पत्र के बाद क्योंकि इन कार्यों से अलग कर दिया पूर्णांकों का उत्पादन छोटी राशि जिसके द्वारा पूर्णांक अलग किया जा सकता है।

According to Wikipedia, यूनानी पत्र Iota फीनशियन पत्र yōdh से आया था।

यह प्रोग्रामिंग की बहुत दूर है क्योंकि मैं वर्तमान में इस प्रश्न के लिए जाना चाहता हूं।

+31

यूनिकोड पागल है। –

+6

तो आपने टाइपो क्यों पेश किया? ;-) – subsub

+3

लेकिन यह सिर्फ सवाल को थोड़ा सा धक्का देता है: एपीएल ने इस समारोह को '⍳' क्यों कहा? –

27

इसका यूनानी पत्र जो कभी-कभी गणित में संख्याओं या इकाई वैक्टरों के सेट को इंगित करने के लिए उपयोग किया जाता है। सी ++ मामले में, आपको एक निर्मित वेक्टर सेट मिलता है। Itoa के साथ कुछ भी नहीं करने के लिए।

+2

+1। –

20

std::iota लगातार बढ़ी हुई मानों के साथ एक इटरेटर रेंज भर देगा।

अपने विशिष्ट प्रश्न का उत्तर देने के लिए, यह वास्तव में कुछ भी नहीं खड़ा है। Iota (अंग्रेज़ी में "आंख-ओह-डुह" उच्चारण) गणितीय अर्थों के साथ एक ग्रीक अक्षर है।

यह सी ++ 11 में मानक है, लेकिन पहले के मानकों में नहीं है।

+1

अधिकांश गैर-अंग्रेजी बोलने वाले और मैं इसे "आंख-ओह-डुह" का उच्चारण नहीं करता –

+0

आंख-यॉट-आह?मुझे एक आईओटा की परवाह नहीं है (मैं वास्तव में करता हूं) :) – Will

+0

@ LưuVĩnhPhúc मैं पुष्टि कर सकता हूं कि कम से कम एक मूल अंग्रेजी स्पीकर इसे "आंख-ओह-डुह" का उच्चारण नहीं करता है - मैं कहता हूं "आंख-ओह-तुह" (जहां "गण" मिथ-ए-मैटिकल के बीच में अविभाज्य स्वर 'ə' है) –

3

ओह, मैं धारणा है कि के बाद से std::iota(start,end,0) अनिवार्य रूप से के लिए

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

खड़ा है तो आप अनिवार्य रूप से प्रत्येक सरणी तत्व के लिए "मैं आवंटित" के तहत हमेशा था, और जरा भी मैं के लिए यूनानी है, इसलिए वहाँ।

(मैं नहीं आश्चर्य है कि अगर एपीएल चुनाव के लिए तर्क था, @ robmayoff के answer में उल्लेख किया है, हालांकि मैं पता नहीं ऐसी बात है कि क्या है किया जाएगा।)

संबंधित मुद्दे