perl - पर्ल सरणी संदर्भ के साथ जुड़ें



join arrayref (1)

मैं पर्ल के लिए नया हूँ

मैं एक सरणी संदर्भ में शामिल होने का उपयोग करने की कोशिश कर रहा हूं, लेकिन यह काम नहीं कर रहा है।

यहाँ मेरा कोड है

my $arr = {
     'items' => ('home', 'chair', 'table')
};

my $output = join(',', $arr->{'items'});

print $output;

यह मुद्रण है

table

के बजाय

home,chair,table

क्या कोई इस संबंध में मेरी सहायता कर सकता है?


पर्ल में, अभिभावक arrays नहीं बनाते वे केवल कभी पूर्वनिष्ठता को हल करते हैं हैश्रेफ

{ 'items' => ('home', 'chair', 'table') }

के समान है

{ 'items' => 'home', 'chair' => 'table' }

यदि आप एक हैश में एक सरणी डालना चाहते हैं, तो आपको सरेरेफ़ का उपयोग करना होगा, जिसे आप [ ... ] साथ बना सकते हैं:

my $hash = { 'items' => ['home', 'chair', 'table'] }

अब अगर आप अपना कोड चलाते हैं, तो आपको कुछ पसंद आएगा

ARRAY(0x1234567)

आउटपुट के रूप में यह तरीका संदर्भों को मुद्रित किया गया है। तत्वों में शामिल होने के लिए हमें इसकी व्याख्या करना चाहिए हम ऐसा कर सकते हैं @{ ... } सरणी dereference ऑपरेटर के साथ। फिर:

print join(',', @{ $hash->{items} }), "\n";

पर्ल में संदर्भों और जटिल डेटा संरचनाओं के बारे में अधिक जानने के लिए, पढ़ें





arrayref