मैं एक हैश को उप-फ़ंक्शंस के संदर्भ में रखना चाहता हूं जहां मैं उन कार्यों को उपयोगकर्ता परिभाषित चर पर निर्भर कर सकता हूं, मैं कोशिश करूँगा और जो मैं करने की कोशिश कर रहा हूं उसका सरलीकृत उदाहरण दूंगा।सबफंक्शंस के पर्ल हैश
my %colors = (
vim => setup_vim(),
emacs => setup_emacs(),
)
$colors{$editor}(arg1, arg2, arg3)
जहां setup_vim()
और setup_emacs()
उप कार्यों मेरी फाइल और $editor
में बाद में परिभाषित किया जाएगा एक उपयोगकर्ता निर्धारित चर (यानी vim या Emacs) है। क्या यह संभव है? मैं इसे काम नहीं कर सकता, या विषय पर अच्छी जानकारी पा सकता हूं। धन्यवाद।
(ध्यान दें मैं अभी लागू किया एक काम स्विच के रूप में है, लेकिन मुझे लगता है कि जैसे एक हैश ऊपर अपने मौजूदा कोड करने के लिए नए प्रविष्टियों को जोड़ने के लिए यह आसान होगा)
आप दोनों के लिए धन्यवाद, यह ठीक काम कर रहा है। मुझे यकीन नहीं है कि मैं मास्टरिंग पर्ल (फोय) पढ़कर पर्ल को स्वयं सीख रहा हूं और वे 2-3 अध्याय दूर हैं :) –
क्लोजर अन्य प्रकार के शब्दावली चर पर भी काम करते हैं, न कि केवल ' my'। – tchrist
@ क्रिसमस: हां, बंद सभी व्याख्यात्मक चर के साथ काम करते हैं। लेकिन जिन चीजों को लोग उनका उपयोग करना चाहते हैं, वे हमारे चर के साथ स्पष्ट रूप से नहीं होते हैं। फिर भी मैंने अपनी प्रतिक्रिया अपडेट की है। – btilly