توابع آرایه

push/pop/shift/unshift، reverse، sort و join.

چهار عمل اصلی — مثل صف و پشته!

تابعکارمثال
pushافزودن به آخرpush @arr, $x;
popحذف از آخرmy $last = pop @arr;
shiftحذف از اولmy $first = shift @arr;
unshiftافزودن به اولunshift @arr, $x;
my @stack = (1, 2, 3);
push @stack, 4;          { (1,2,3,4) }
my $top = pop @stack;    { 4 — حذف از آخر }
my $front = shift @stack; { 1 — حذف از اول }
unshift @stack, 0;       { (0,2,3) }
push/pop = پشته (LIFO)، push/shift = صف (FIFO)!

reverse — برعکس کردن

my @arr = (1, 2, 3);
my @rev = reverse @arr;      { (3,2,1) }
say scalar reverse "hello";  { olleh — روی رشته هم! }

sort — مرتب‌سازی

my @words = ("banana", "apple", "cherry");
my @sorted = sort @words;              { الفبایی }

my @nums = (10, 2, 33);
my @num_sorted = sort { $a <=> $b } @nums;   { عددی: (2,10,33) }
sort پیش‌فرض رشته‌ای است! برای اعداد حتماً sort { $a <=> $b } بنویسید — وگرنه 10 قبل از 2 می‌آید!

join — آرایه به رشته

my @arr = ("a", "b", "c");
say join(",", @arr);     { a,b,c }
say join(" - ", @arr);   { a - b - c }

split — رشته به آرایه

my $csv = "ali,sara,reza";
my @names = split(/,/, $csv);    { ("ali","sara","reza") }

my $text = "hello world foo";
my @words = split(/ /, $text);   { بر اساس فاصله }

مثال کامل: پردازش لیست

my @scores = (18, 9, 15, 20, 12);

push @scores, 17;                      { افزودن }
my $best = (sort { $b <=> $a } @scores)[0];  { بیشترین }
say join(" | ", sort { $a <=> $b } @scores);

خلاصه

این مبحث بخشی از دوره آموزش کامل پرل است.

ابزارهای مرتبط