لیستها
لیستها، qw()، تخصیص لیستی و بازهها.
لیست در برابر آرایه
لیست دادههای جداشده با کاماست که در پرانتز میآید؛ آرایه متغیری است که لیست را نگه میدارد:
my @arr = (1, 2, 3); { لیست (1,2,3) در آرایه @arr }
say scalar(1, 2, 3); { لیست بهتنهایی }
qw() — بدون کوتیشن!
برای لیست کلمات، qw (quote words) فوقالعاده است:
my @fruits = qw(apple banana cherry); { معادل ("apple","banana","cherry") }
my @tags = qw(html css js php);
qw فقط با فاصله جدا میکند — کلمات را بدون کوتیشن و کاما بنویسید!
تخصیص لیستی
my ($x, $y, $z) = (1, 2, 3); { x=1, y=2, z=3 }
my ($first, @rest) = (10, 20, 30); { first=10, rest=(20,30) }
my ($a) = (5, 6, 7); { a=5 — فقط اولی! }
پرانتز مهم است!
my $x = (5, 6, 7) چیز متفاوتی میدهد — همیشه ($x) بنویسید.جابجایی (Swap) — در یک خط!
my ($a, $b) = (10, 20);
($a, $b) = ($b, $a); { جابجا شدند! }
say "$a $b"; { 20 10 }
بازهها
my @range = (1..5); { (1,2,3,4,5) }
my @letters = ('a'..'e'); { (a,b,c,d,e) }
my @down = (5..1); { () — خالی! بازه فقط صعودی }
لیست در توابع
say scalar(@fruits); { تعداد }
say join("-", 1..5); { 1-2-3-4-5 }
خلاصه
- لیست = (a, b, c)، آرایه = متغیر نگهدارنده
- qw() برای کلمات بدون کوتیشن
- تخصیص لیستی: my ($x, $y) = ...
- بازه 1..10 فقط صعودی
این مبحث بخشی از دوره آموزش کامل پرل است.