कॉन्सटेनेशन

औपचारिक भाषा और कंप्यूटर प्रोग्रामिंग में, स्ट्रिंग कॉन्सटेनेशन, कैरेक्टर स्ट्रिंग (कंप्यूटर विज्ञान) को एंड-टू-एंड|एंड-टू-एंड से जोड़ने की प्रक्रिया है। उदाहरण के लिए, बर्फ और गेंद का संयोजन स्नोबॉल है। संयोजन सिद्धांत की कुछ औपचारिकताओं में, जिसे स्ट्रिंग सिद्धांत भी कहा जाता है, स्ट्रिंग संयोजन एक आदिम धारणा है।

वाक्यविन्यास
कई प्रोग्रामिंग भाषाओं में, स्ट्रिंग कॉन्सटेनेशन एक बाइनरी ऑपरेशन इन्फ़िक्स ऑपरेटर है।  ई> (प्लस) ऑपरेटर अक्सर स्ट्रिंग तर्कों के लिए संयोजन को दर्शाने के लिए ऑपरेटर ओवरलोडिंग करता है:   मूल्य है. अन्य भाषाओं में एक अलग ऑपरेटर होता है, विशेष रूप से स्ट्रिंग में अंतर्निहित प्रकार के रूपांतरण को निर्दिष्ट करने के लिए, जेनेरिक प्लस के लिए अधिक जटिल व्यवहार के विपरीत। उदाहरणों में शामिल  एडिनबर्ग छोटा सा भूत, पर्ल और पीएचपी में,   लुआ (प्रोग्रामिंग भाषा) में, और   Ada, AppleScript और Visual Basic में। अन्य वाक्यविन्यास मौजूद है, जैसे   पीएल/आई और ओरेकल डेटाबेस एसक्यूएल में। कुछ भाषाओं में, विशेष रूप से सी, सी++ और पायथन में, स्ट्रिंग शाब्दिक संयोजन होता है, जिसका अर्थ है कि आसन्न स्ट्रिंग अक्षर बिना किसी ऑपरेटर के संयोजित होते हैं:  मूल्य है. अन्य भाषाओं में, एक ऑपरेटर के साथ स्ट्रिंग अक्षर के संयोजन का मूल्यांकन संकलन समय पर, निरंतर फोल्डिंग के माध्यम से किया जाता है, हालांकि यह अक्सर भाषा सुविधा के बजाय कंपाइलर का कार्यान्वयन विवरण होता है।

कार्यान्वयन
प्रोग्रामिंग में, स्ट्रिंग संयोजन आम तौर पर रन टाइम पर होता है, क्योंकि स्ट्रिंग मान आमतौर पर रन टाइम तक ज्ञात नहीं होते हैं। हालाँकि, स्ट्रिंग शाब्दिक के मामले में, मान संकलन समय पर ज्ञात होते हैं, और इस प्रकार स्ट्रिंग संयोजन संकलन समय पर किया जा सकता है, या तो स्ट्रिंग शाब्दिक संयोजन के माध्यम से या निरंतर फोल्डिंग के माध्यम से।

स्ट्रिंग्स के सेट का संयोजन
औपचारिक भाषा और पैटर्न मिलान (नियमित अभिव्यक्तियों सहित) में, स्ट्रिंग्स पर संयोजन ऑपरेशन को स्ट्रिंग्स के सेट पर एक ऑपरेशन के लिए सामान्यीकृत किया जाता है:

स्ट्रिंग के दो सेटों के लिए एस1 और एस2, संयोजन एस1S2 इसमें vw फॉर्म की सभी स्ट्रिंग्स शामिल हैं, जहां v, S से एक स्ट्रिंग है1 और w, S से एक स्ट्रिंग है2, या औपचारिक रूप से $S_{1}S_{2} = \{ vw : v ∈ S_{1}, w ∈ S_{2} \}$. कई लेखक एक स्ट्रिंग सेट और एक स्ट्रिंग के संयोजन का भी उपयोग करते हैं, और इसके विपरीत, जो समान रूप से परिभाषित होते हैं $S_{1}w = \{ vw : v ∈ S_{1} \}$ और $vS_{2} = \{ vw : w ∈ S_{2} \}$. इन परिभाषाओं में, स्ट्रिंग vw स्ट्रिंग्स v और w का सामान्य संयोजन है जैसा कि परिचयात्मक अनुभाग में परिभाषित किया गया है।

उदाहरण के लिए, यदि $F = \{ a, b, c, d, e, f, g, h \}$, और $R = \{ 1, 2, 3, 4, 5, 6, 7, 8 \}$, तो FR बीजगणितीय संकेतन (शतरंज) में सभी शतरंज बोर्ड निर्देशांकों के सेट को दर्शाता है, जबकि eR राजाओं की फ़ाइल (शतरंज) के सभी निर्देशांकों के सेट को दर्शाता है।

इस संदर्भ में, स्ट्रिंग्स के सेट को अक्सर औपचारिक भाषाओं के रूप में संदर्भित किया जाता है। संयोजन संचालिका को आम तौर पर सरल संयोजन (गुणन के साथ) के रूप में व्यक्त किया जाता है।

बीजगणितीय गुण
किसी वर्णमाला पर तार, संयोजन संचालन के साथ, पहचान तत्व शून्य स्ट्रिंग के साथ एक सहयोगी संपत्ति बीजगणितीय संरचना बनाते हैं - एक मुक्त मोनॉइड।

संयोजन और प्रत्यावर्तन (औपचारिक भाषा सिद्धांत) के साथ स्ट्रिंग्स के सेट एक मोटी हो जाओ बनाते हैं, जिसमें प्रत्यावर्तन (+) पर संयोजन (*) वितरण गुण होता है; 0 खाली सेट है और 1 वह सेट है जिसमें केवल शून्य स्ट्रिंग शामिल है।

ऑडियो/टेलीफोनी
टेलीफोनी के लिए प्रोग्रामिंग में, उपयोगकर्ता को गतिशील ऑडियो फीडबैक प्रदान करने के लिए कॉन्सटेनेशन का उपयोग किया जाता है। उदाहरण के लिए, दिन के समय बोलने वाली घड़ी में, उपयुक्त रिकॉर्डिंग को एक साथ चलाकर सही समय देने के लिए कॉन्सटेनेशन का उपयोग किया जाता है। उदाहरण के लिए:


 * स्वर में समय रहेगा
 * आठ
 * तीस
 * पाँच
 * और
 * बीस
 * पाँच
 * सेकंड

रिकॉर्डिंग स्वयं अलग-अलग मौजूद होती हैं, लेकिन उन्हें एक के बाद एक बजाने से श्रोता को व्याकरणिक रूप से सही वाक्य मिलता है।

इस तकनीक का उपयोग नंबर परिवर्तन घोषणाओं, स्वर का मेल सिस्टम, या अधिकांश टेलीफोनी अनुप्रयोगों में भी किया जाता है जो कॉलर को गतिशील प्रतिक्रिया प्रदान करते हैं (उदाहरण के लिए Moviefone, तेलमे और अन्य)।

किसी भी प्रकार की कम्प्यूटरीकृत सार्वजनिक संबोधन प्रणाली के लिए प्रोग्रामिंग गतिशील सार्वजनिक घोषणाओं (उदाहरण के लिए, किसी हवाई अड्डे में उड़ानें) के लिए संयोजन को भी नियोजित कर सकती है। सिस्टम संख्याओं, मार्गों या एयरलाइनों, गंतव्यों, समयों आदि के रिकॉर्ड किए गए भाषण को संग्रहीत करेगा और व्याकरणिक रूप से सही वाक्य तैयार करने के लिए उन्हें एक विशिष्ट अनुक्रम में वापस चलाएगा जो पूरे सुविधा में घोषित किया जाएगा।

डेटाबेस सिद्धांत
संबंधपरक डेटाबेस डिज़ाइन के सिद्धांतों में से एक यह है कि डेटा तालिकाओं के फ़ील्ड को तालिका के विषय की एक विशेषता को प्रतिबिंबित करना चाहिए, जिसका अर्थ है कि उनमें संयोजित स्ट्रिंग नहीं होनी चाहिए। जब किसी रिपोर्ट में संयोजन की आवश्यकता होती है, तो इसे रिपोर्ट चलाने के समय प्रदान किया जाना चाहिए। उदाहरण के लिए, किसी निश्चित ग्राहक का भौतिक पता प्रदर्शित करने के लिए, डेटा में भवन संख्या, सड़क का नाम, भवन उप-इकाई संख्या, शहर का नाम, राज्य/प्रांत का नाम, डाक कोड और देश का नाम शामिल हो सकता है, उदाहरण के लिए, 123 नकली सेंट अपार्टमेंट 4, बोल्डर, सीओ 80302, यूएसए, जो सात क्षेत्रों को जोड़ता है। हालाँकि, ग्राहक डेटा तालिका को उस संयोजित स्ट्रिंग को संग्रहीत करने के लिए एक फ़ील्ड का उपयोग नहीं करना चाहिए; बल्कि, रिपोर्ट चलाने पर सात क्षेत्रों का संयोजन होना चाहिए। ऐसे सिद्धांतों का कारण यह है कि उनके बिना, बड़ी मात्रा में डेटा की प्रविष्टि और अद्यतन त्रुटि-प्रवण और श्रम-गहन हो जाता है। शहर, राज्य, ज़िप कोड और राष्ट्र को अलग-अलग दर्ज करने से डेटा-एंट्री सत्यापन की अनुमति मिलती है (जैसे कि अमान्य राज्य संक्षिप्त नाम का पता लगाना)। फिर उन अलग-अलग वस्तुओं का उपयोग रिकॉर्ड्स को सॉर्ट करने या अनुक्रमित करने के लिए किया जा सकता है, जैसे कि शहर के नाम के रूप में बोल्डर के साथ।

मनोरंजक गणित
मनोरंजक गणित में, कई समस्याएं कुछ मूलांक में उनके अंकों के संयोजन के तहत संख्याओं के गुणों से संबंधित होती हैं। उदाहरणों में गृह अभाज्य (किसी दिए गए संख्या के अभाज्य गुणनखंडों के बढ़ते संयोजन को बार-बार गुणनखंडित करके प्राप्त अभाज्य), स्मरैंडचे-वेलिन संख्या (पहले अभाज्य संख्याओं का संयोजन), और चैम्परनाउने स्थिरांक और कोपलैंड-एर्डोस स्थिरांक (वास्तविक संख्याएं) शामिल हैं। क्रमशः धनात्मक पूर्णांकों और अभाज्य संख्याओं के दशमलव निरूपण द्वारा)।

यह भी देखें

 * रस्सी (डेटा संरचना)