ठीक है, मैं इसे समझने के हर तरीके से कोशिश कर रहा हूं।एरलांग - ग्लोबल वैरिएबल .. हाँ मुझे पता है, मुझे पता है
मुझे इस तालिका को वैश्विक होने की आवश्यकता है .. मुझे एहसास हुआ है कि मेरे कार्यक्रम के दायरे में टेबलिड पास करने के लिए यह बहुत कम कुशल है।
TableID = ets:new(tb, [set,public]),
put({tableUniqueID}, TableID),
तब मैं प्रयोग किया है::
get({tableUniqueID})
और एक ही समारोह में यह TableID रिटर्न ठीक ... अभी तक जब मैं
तो मैं एक नई तालिका बनाने तो यह देख करने की कोशिश की इसे किसी अन्य फ़ंक्शन में उपयोग करें, यह एक अपरिभाषित लौटाता है।
क्या ?? मैं सोचा था और एक प्रमुख वैश्विक बनाया रख ..
भी यह सब से पहले मैं आप इस तरह के रूप में एक मेज देखने फ़ंक्शन को कॉल करें "कर सकता है" का एहसास:
ets:lookup(get({tableUniqueID}), msgIn)
यही बात, समारोह में काम करता है, बाहर नहीं है .. रखो हो जाओ समस्या ..
तो मैं एक और तरीका एक मेज देखने के लिए तालिका
ets:lookup(tb, msgIn)
की परमाणु फोन करके किया जाएगा एहसास हुआ लेकिन इस कभी नहीं काम करता है, नहीं समारोह के अंदर, नहीं बाहर ..
तो मेरी मुख्य प्राथमिकता यह समझना होगा कि इसके परमाणु द्वारा एक टेबल को क्यों देखना संभव नहीं है। लेकिन यह कहता है कि मैनुअल सहित यह हर जगह सबसे अधिक है।
प्राप्त/रखो मैं बिना रह सकता था, जब तक मैं टेबल स्टोर कर सकता हूं, तब तालिका को इसके परमाणु पहचानकर्ता द्वारा लुकअप करें।
क्या कोई इस दुविधा पर प्रकाश डाल सकता है?