2012-05-22 12 views
8

में वृद्धिशील मूल्यों के साथ एक सरणी की घोषणा मैं जानता हूँ कि यह इस तरह एक सरणी घोषित करने के लिए संभव है:पर्ल

my @array = (5 .. 10); 

जो के बराबर है:

my @array = (5, 6, 7, 8, 9, 10); 

लेकिन वहां भी इसी तरह आशुलिपि है जब वृद्धिशील मान एक से अधिक है उदाहरण के लिए

my @array = (5, 10, 15, 20, 25); 
my @array = (100, 200, 300, 400, 500); 

उत्तर

22
my @array = map 5*$_, 1..5; 

और

my @array = map 100*$_, 1..5; 
+0

'" मेरे "वेरिएबल @array मास्क पहले स्कोप में पहले घोषणा ':) – DVK

+1

धन्यवाद @ikegami! –

+1

@ डीवीके, ओपी – ikegami

4

अधिक आम तौर पर:

my $start = 5; 
my $stop = 25; 
my $increment = 5; 
my @array = map $start+$increment*$_, 0..($stop-$start)/$increment; 

या:

chomp(my @array = `seq $start $increment $stop`); 

(बस मजाक कर।)

+1

यह वास्तव में 'seq $ $ $ increment $ stop' शुरू होता है ;-) - http://linux.die.net/man/1/seq – simbabque

2

आप डेमियन Conway के List::Maker का भी उपयोग कर सकते हैं।

use List::Maker; 
my @list = <0..100 x 5>;