कॉन्सटेनेशन

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

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

कुछ भाषाओं में, विशेष रूप से सी, सी++ और पायथन में, स्ट्रिंग शाब्दिक संयोजन होता है, जिसका अर्थ है कि आसन्न स्ट्रिंग अक्षर बिना किसी ऑपरेटर के संयोजित होते हैं:  का मान   है। अन्य भाषाओं में, ऑपरेटर के साथ स्ट्रिंग अक्षर के संयोजन का मूल्यांकन संकलन समय पर, निरंतर फोल्डिंग के माध्यम से किया जाता है, चूँकि यह प्रायः भाषा सुविधा के अतिरिक्त कंपाइलर का कार्यान्वयन विवरण होता है।

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

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

स्ट्रिंग S1 और S2, के दो सेटों के लिए, संयोजन S1S2 में फॉर्म vw के सभी स्ट्रिंग्स सम्मिलित हैं, जहां v, S1 से स्ट्रिंग है और w, S2 से स्ट्रिंग है, या औपचारिक रूप से $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 वह सेट है जिसमें केवल शून्य स्ट्रिंग सम्मिलित है।

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


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

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

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

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

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

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

यह भी देखें

 * रोप (डेटा संरचना)