2010-03-13 12 views
11

मेरे पास तारों की एक सरणी है: @arrayमैं दो इंडेक्स के बीच सरणी तत्वों को संयोजित करने के लिए पर्ल का उपयोग कैसे कर सकता हूं?

मैं सरणी अनुक्रमणिका $i से $j के साथ शुरू होने वाले सभी तारों को जोड़ना चाहता हूं। मैं यह कैसे कर सकता हूं?

उत्तर

19
$newstring = join('', @array[$i..$j]) 
+0

धन्यवाद। यदि $ j स्ट्रिंग का अंत है, तो मैं $ j के लिए स्केलर (@array) -1 का उपयोग कर रहा हूं। ऐसा करने का कोई और तरीका है। –

+4

@iamrohitbanga हां: '$ # सरणी 'स्केलर @ सरणी - 1' – mob

+0

कहने का एक छोटा तरीका है क्षमा करें, मैं" $ j स्ट्रिंग का अंत "भाग का पालन नहीं करता हूं। लेकिन स्केलर (@array) -1 $ # सरणी है। – xiechao

7
my $foo = join '', @array[$i..$j]; 

पहले हम मूल्यों है कि हम चाहते हैं के साथ एक सरणी टुकड़ा उत्पन्न करते हैं, तो हम उन्हें खाली चरित्र 'पर शामिल हो।

-1

इस प्रयास करें ....

use warnings ; 
use strict ; 
use Data::Dumper ; 
my $string ; 
map { $string .= $_; } @arr[$i..$j] ; 
print $string ; 
+7

आपको शून्य संदर्भ में 'मानचित्र' का उपयोग नहीं करना चाहिए; एक 'लूप' लूप भी काम करेगा। लेकिन जब आप केवल 'जॉइन' का उपयोग कर सकते हैं तो किसी भी प्रकार की लूप अनावश्यक होती है। – friedo

+1

शून्य 'नक्शा' बुराई है? मैं अधिकांश स्थानों के लिए 'पोस्ट' का उपयोग करता हूं, एक शून्य 'मानचित्र' का उपयोग किया जा सकता है। यहां मैं 'जॉइन' का उपयोग करूंगा। लेकिन पर्ल 5.8.1 और ऊपर नक्शा के रिटर्न वैल्यू को ऑप्टिमाइज़ करते हैं जब इसे शून्य संदर्भ में कहा जाता है। शून्य संदर्भ में मानचित्र की अधिक चर्चा के लिए देखें: http://www.perlmonks.org/index.pl?node_id=296742 – daotoad

2

बस उद्धरण में एक पर्ल सरणी enclosing यह श्रेणीबद्ध करने के लिए पर्याप्त है, यदि आप संयोजन चरित्र के रूप में रिक्त स्थान के साथ खुश हैं:

@array = qw(a b c d e f g); 
$concatenated = "@array[2 .. 5]"; 
print $concatenated; 
## prints "c d e f" 

या बेशक

$" = '-'; 
@array = qw(a b c d e f g); 
$concatenated = "@array[2 .. 5]"; 
print $concatenated; 

यदि आप "सीडीएफ" पसंद करेंगे।

+0

आप सरणी तत्वों के बीच वर्णों को खत्म करने के लिए '$ undef' भी कर सकते हैं; यह एक अच्छा अभ्यास है ग्लोबल '$" वैरिएबल में अपने ब्लॉक में परिवर्तनों को स्थानीयकृत करें। – toolic

संबंधित मुद्दे

 संबंधित मुद्दे