यदि आप अपने डेटा का वर्णन करने के लिए सादे हैंश का उपयोग कर सकते हैं, तो आप एक सादा हैश का उपयोग करते हैं। हालांकि, जब आपकी डेटा संरचना थोड़ा अधिक जटिल हो जाती है, तो आपको संदर्भों का उपयोग करने की आवश्यकता होगी।
एक प्रोग्राम की कल्पना करें जहां मैं सूची आइटम के बारे में जानकारी संग्रहीत कर रहा हूं, और मेरे पास कितने स्टॉक हैं। एक साधारण हैश काफी अच्छी तरह से काम करता है:
$item{XP232} = 324;
$item{BV348} = 145;
$item{ZZ310} = 485;
सब आप कर रहे हैं त्वरित कार्यक्रमों है कि एक फ़ाइल को पढ़ने और एक रिपोर्ट के लिए सरल जानकारी स्टोर कर सकते हैं बनाने है, तो सभी को एक संदर्भ का उपयोग करने की आवश्यकता नहीं।
हालांकि, जब चीजें अधिक जटिल होती हैं, तो आपको संदर्भों की आवश्यकता होती है।उदाहरण के लिए, मेरा प्रोग्राम सिर्फ मेरे स्टॉक को ट्रैक नहीं कर रहा है, मैं अपनी सूची के सभी पहलुओं को ट्रैक कर रहा हूं। सूची वस्तुओं में नाम भी हैं, जो कंपनी उन्हें बनाती है, आदि। इस मामले में, मैं अपने हैंश को एक डेटा पॉइंट (स्टॉक में मौजूद वस्तुओं की संख्या) को इंगित नहीं करना चाहता हूं, लेकिन हैश का संदर्भ :
$item{XP232}->{DESCRIPTION} = "Blue Widget";
$item{XP232}->{IN_STOCK} = 324;
$item{XP232}->{MANUFACTURER} = "The Great American Widget Company";
$item{BV348}->{DESCRIPTION} = "A Small Purple Whatzit";
$item{BV348}->{IN_STOCK} = 145;
$item{BV348}->{MANUFACTURER} = "Acme Whatzit Company";
आप कुछ इस तरह (जैसे प्रत्येक क्षेत्र के लिए अलग से हैश है या एक ही मूल्य कोलन से अलग में सभी क्षेत्रों डाल), लेकिन यह केवल करने के लिए संदर्भ का उपयोग करना आसान है करने के लिए निराला चीजों के सभी प्रकार के कर सकते हैं इन जटिल संरचनाओं को स्टोर करें।
स्रोत
2013-07-01 22:49:28
किसी भी जटिलता के एक कार्यक्रम में आप इन चीजों को सबराउटिन या विधियों के पास पास करना चाहेंगे, जिस बिंदु पर आप उन्हें संदर्भों में परिवर्तित कर देंगे। मैं आमतौर पर हैशफ्स का उपयोग करता हूं जब तक कि यह एक फेंकने वाली एक-एक स्क्रिप्ट नहीं है। –
फिर से खोलने के लिए मतदान ... यह निश्चित रूप से एक प्रश्न है जिसका उत्तरदायी उत्तर दिया गया है – Zaid