2008-08-25 14 views

उत्तर

21

मान लें कि आप स्टैक ओवरफ्लो में सामान पोस्ट करने के लिए सी लाइब्रेरी बनाते हैं। अब आप पाइथन से उसी लाइब्रेरी का उपयोग करने में सक्षम होना चाहते हैं। इस मामले में, आप अपनी लाइब्रेरी के लिए पाइथन बाइंडिंग लिखेंगे।

भी बड़ा घूँट देखें: http://www.swig.org

0

में लिखा फ्लेक्स में की भाषा एक्स में लिखे कोड से विशेष रूप से पहुँचने के कार्य (Actionscript 3)। Source

एक डेटा बाइंडिंग किसी ऑब्जेक्ट में किसी ऑब्जेक्ट में किसी ऑब्जेक्ट में किसी ऑब्जेक्ट में किसी प्रॉपर्टी के मूल्य की प्रतिलिपि बनाता है। आप निम्न वस्तुओं के गुणों को बाध्य कर सकते हैं: फ्लेक्स घटक, फ्लेक्स डेटा मॉडल, और फ्लेक्स डेटा सेवाएं।

डेटा प्रदान करने वाली ऑब्जेक्ट प्रॉपर्टी स्रोत प्रॉपर्टी के रूप में जानी जाती है। ऑब्जेक्ट प्रॉपर्टी जो डेटा प्राप्त करती है उसे गंतव्य संपत्ति के रूप में जाना जाता है।

निम्न उदाहरण एक TextInput घटक (स्रोत संपत्ति) एक लेबल घटक (गंतव्य संपत्ति) ताकि पाठ TextInput घटक में दर्ज किए गए पाठ संपत्ति के पाठ संपत्ति बांधता लेबल घटक द्वारा प्रदर्शित होता है:

<mx:TextInput id="LNameInput"></mx:TextInput> 
... 
<mx:Label text="{LNameInput.text}"></mx:Label> 

डाटा बाध्यकारी आमतौर पर उपयोगकर्ता इंटरफ़ेस घटकों के लिए एक मॉडल बाध्य करने के लिए एक आसान तरीका है। उदाहरण के लिए, आपके पास फर्स्टनाम संपत्ति वाला एक वर्ग है। फ्लेक्स में आप टेक्स्टबॉक्स के मान को {Object.FirstName} पर सेट करके आसानी से उस प्रॉपर्टी को टेक्स्टबॉक्स में जोड़ सकते हैं। फिर, हर बार जब फर्स्टनाम संपत्ति बदल जाती है, तो टेक्स्टबॉक्स को अपडेट के लिए उस संपत्ति की निगरानी करने के लिए आपको कोई कोड लिखने के बिना अपडेट किया जाएगा।

उम्मीद है कि मदद करता है।

मैट

4

ठीक है, अब सवाल स्पष्ट किया गया है, यह वास्तव में प्रासंगिक नहीं है तो मैं a new question

आम तौर पर बाध्यकारी दूसरे करने के लिए एक बात की मैपिंग को संदर्भित करता है पर ले जाकर कर रहा हूँ - यानी एक प्रस्तुति वस्तु के लिए एक डेटा स्रोत। यह आम तौर पर एक डेटाबेस, या समान स्रोत (एक्सएमएल फ़ाइल, वेब सेवा इत्यादि) से प्रस्तुति नियंत्रण या तत्व में बाध्यकारी डेटा का संदर्भ ले सकता है - डेस्कटॉप सॉफ़्टवेयर में HTML, कॉम्बो बॉक्स या डेटा ग्रिड में सोच सूची या तालिका।

... अगर ऐसा बंधन की तरह आप में रुचि रखते हैं, पर पढ़ें ...

आप आम तौर पर डेटा स्रोत, चारों ओर नहीं अन्य तरीके से करने के लिए प्रस्तुति तत्व बाध्य करने के लिए है। इसमें किसी प्रकार का मैपिंग शामिल होगा - यानी डेटासोर्स से कौन से फ़ील्ड आप आउटपुट में दिखाना चाहते हैं।

वातावरण के एक जोड़े में अधिक जानकारी के लिए देखें:

12

कोड पुस्तकालयों के संदर्भ में, बाइंडिंग आवरण पुस्तकालयों कि दो प्रोग्रामिंग भाषाओं के बीच सेतु ताकि एक पुस्तकालय है कि एक भाषा के लिए लिखा गया था भी परोक्ष किसी अन्य भाषा में इस्तेमाल किया जा सकता है।

उदाहरण के लिए, libsvn सबवर्जन के लिए एपीआई है और सी में लिखा गया था। यदि आप जावा कोड के भीतर से सबवर्सन तक पहुंचना चाहते हैं तो आप libsvn-java का उपयोग कर सकते हैं। libsvn-java libsvn पर स्थापित होने पर निर्भर करता है क्योंकि libsvn-java जावा प्रोग्रामिंग भाषा और libsvn के बीच एक मात्र पुल है, जो एक एपीआई प्रदान करता है जो वास्तविक काम करने के लिए केवल libsvn के कार्यों को कॉल करता है।

+2

तो "बाइंडिंग" का अर्थ है कि यह एक "इंटरफेस" है। केवल इतना है कि उन्होंने इसे 'इंटरफ़ेस' नहीं कहा क्योंकि यह एक अलग भाषा में है। "बाइंडिंग" केवल एक विशेषण है जो कहता है कि एक भाषा की एक ही फ़ंक्शन कॉल अब किसी अन्य भाषा की फ़ंक्शन कॉल द्वारा समर्थित की जा रही है। ठंडा! क्या कोई ऐसी वेबसाइट है जो कार्यान्वयन के विवरण बताती है कि दो भाषाओं के बीच पुल कैसे बनाया गया है? – Nav

+2

हां यह है: http://en.wikipedia.org/wiki/Foreign_function_interface – user478249

+1

मुझे ऐसे पुराने उत्तर को पुनर्जीवित करने के लिए खेद है, लेकिन मैं सोच रहा था कि भाषा बाइंडिंग का उपयोग करते समय कोई प्रदर्शन हानि है या नहीं? (मुझे ऑनलाइन बहुत सारी जानकारी नहीं मिल रही है) – RaptorDotCpp