آرایه های PowerShell: نحوه ایجاد و استفاده از آنها

متغیرها اساسی ترین ساختار داده در هر نوع کدنویسی(any type of coding) هستند. اما متغیرهای منفرد برای اکثر اهداف به سختی کافی هستند، به خصوص زمانی که با الگوریتم های پیچیده تر سروکار داریم.

اینجاست که آرایه ها وارد می شوند. چه C++ چه پایتون(Python) ، آرایه ها در هر زبان برنامه نویسی به شکلی وجود دارند. اما در مورد Windows PowerShell چطور؟ آرایه های PowerShell چگونه کار می کنند؟ چطور از آن ها استفاده می کنید؟ نحو آنها چیست؟ بیایید دریابیم.

آرایه های پاورشل 101

به زبان ساده(Simply) ، یک آرایه فقط مجموعه ای ساختار یافته از متغیرها است. ایده این است که با جمع کردن متغیرهای مرتبط در یک مجموعه شماره گذاری شده، دردسر ردیابی ده ها نام را از بین ببریم.

در PowerShell ، می‌توانید با قرار دادن نماد $ به نام متغیر، یک متغیر ایجاد کنید. مثلا:

$prime = 13

متغیر می تواند شامل هر نوع داده ای از اعداد گرفته تا رشته ها باشد. شما فقط باید از نقل قول های دوتایی یا تکی برای تعیین یک رشته استفاده کنید.

$name = “Levin”

اکنون برای ایجاد یک آرایه جدید، به سادگی چندین مقدار را به یک متغیر اختصاص دهید که با کاما از هم جدا شده اند. مثل این:

$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”

برخی از افراد ترجیح می دهند برای جلوگیری از سردرگمی، یک متغیر را به صراحت در یک آرایه قرار دهند، اگرچه این ضروری نیست. برای انجام این کار، مقادیر را در پرانتز با علامت @ قرار دهید.

$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)

این معمولاً هنگام تلاش برای قرار دادن خروجی دستورات دیگر در یک آرایه مفید است، جایی که نمی توانید آنها را به صورت دستی در قالب صحیح بنویسید.

ایجاد یک آرایه

ما قبلا رایج ترین روش ایجاد آرایه را دیده ایم. اما بسته به شرایط، راه های دیگری نیز وجود دارد که ممکن است مناسب تر باشند. به عنوان مثال، اگر می خواهید آرایه ای ایجاد کنید که شامل محدوده ای از اعداد باشد، می توانید از عملگر محدوده استفاده کنید:

$digits = (0..9)

این یک آرایه از تمام ده رقم از صفر تا نه ایجاد می کند. شما همچنین می توانید یک آرایه خالی را مقداردهی اولیه کنید، در صورتی که فقط مکانی برای ذخیره مقادیر بعداً می خواهید.

$values = @()

آرایه‌های متعدد(Multiple) حتی می‌توانند درون یکدیگر قرار بگیرند، اگرچه این نوع استفاده می‌تواند خیلی سریع گیج‌کننده شود.

$coordinates = @(
    (5، 10، 23)،
    (11، 7، 16)
)

به طور پیش فرض یک آرایه می تواند هر نوع متغیری را ذخیره کند، اعم از اعداد، رشته ها یا ترکیبی از هر دو. اما در صورتی که بخواهید مقادیر قرار داده شده در آن را محدود کنید، می توانید به صراحت یک نوع را تعریف کنید. مثلا:

[int[]] $numbers = 2,3,4,5

به این ترتیب، آرایه فقط می تواند اعداد صحیح را نگه دارد. تلاش برای تخصیص هر نوع مقدار دیگری به آن یک خطا برمی‌گرداند. این می تواند برای جلوگیری از خطاهای ساده برای آرایه هایی که به طور انحصاری با مقادیر عددی کار می کنند مفید باشد، زیرا وارد کردن یک رشته در یک متغیر برای استفاده در محاسبات مشکلاتی را ایجاد می کند.

دسترسی به آرایه ها

تاکنون روش‌های متعددی برای ایجاد آرایه‌های حاوی انواع مختلف داده دیده‌ایم. اما چگونه می توانید به این داده ها دسترسی پیدا کنید؟

آرایه های PowerShell(PowerShell) از همان فرمتی استفاده می کنند که توسط سایر زبان های برنامه نویسی استفاده می شود. هر متغیر آرایه را می توان با شماره شاخص آن دسترسی داشت. مثلا:

$var = $numbers[5]

این مقدار ذخیره شده در شاخص پنج آرایه $numbers$var را کپی می کند. توجه داشته باشید که شمارش شاخص های آرایه از 0 شروع می شود، بنابراین اولین مورد با صفر قابل دسترسی است.

اگر بخواهیم این را خروجی بگیریم، برای مثال:

“$days[2]”

چهارشنبه را می گیریم نه سه شنبه.

می توانید از همین روش برای تغییر این مقادیر نیز استفاده کنید. به عنوان مثال، دستور زیر عنصر دوم آرایه را به صفر تغییر می دهد:

$numbers[1] = 0

همچنین می‌توانید به جای تغییر مقادیر ورودی‌های فعلی فقط با اضافه کردن آنها مانند یک عبارت حسابی، عناصر بیشتری را به آرایه موجود اضافه کنید.

$names += “Johny”

از این روش می توان برای افزودن چندین ورودی به طور همزمان یا حتی کل آرایه استفاده کرد.

$names += “Charlie, Liam, Teresa”

$names += $surnames

روش جدا شده با کاما برای دسترسی به چندین عنصر آرایه نیز صادق است. برای مثال، با وارد کردن این، پنج عنصر اول $days در $weekdays ذخیره می‌شود .

$weekdays = $days[0,1,2,3,4]

تکرار از طریق آرایه ها

دسترسی دستی به عناصر خاصی از یک آرایه خوب و خوب است، اما اگر بخواهید اقداماتی را روی کل محتوای یک آرایه انجام دهید، ممکن است خسته کننده شود. یک رویکرد زیباتر استفاده از حلقه For است.

حلقه‌های For می‌توانند به طور سیستماتیک تمام عناصر یک آرایه را طی کنند و هر مقدار را طبق دستورالعمل‌ها پردازش کنند. به این صورت می توانید چنین حلقه ای بسازید:

For ($i = 0 ; $i -lt $days.Length ; $i++){
    $days[$i]}

تابع array.Length اندازه آرایه را برمی‌گرداند که اساساً تعداد عناصر موجود در آن است. این را می توان به پارامتر بیان تست حلقه For متصل کرد تا به طور جامع روی همه عناصر تکرار شود.

حلقه Foreach و حلقه Foreach (Foreach)-object(Foreach) می‌توانند همین کار را با یک اسکریپت PowerShell حتی کمتر انجام دهند.(PowerShell)

Foreach ($day in $days){
    $day}

این کار شما را در تلاش برای تعیین اندازه آرایه صرفه جویی می کند و جزئیات را به PowerShell واگذار(PowerShell) می کند.

چه زمانی باید از آرایه های PowerShell استفاده کنید(PowerShell Arrays)

بزرگترین منبع اشکالات در یک اسکریپت پیچیده، متغیرهایی هستند که به اشتباه ارجاع داده شده اند. این به دلیل وجود تعداد زیادی متغیر با نام منحصر به فرد رخ می دهد که یادآوری هدف آنها را دشوار می کند.

ساده ترین راه حل برای این مشکل استفاده گسترده از آرایه ها است. همه متغیرهایی که به نوعی مرتبط هستند را می توان به یک آرایه اختصاص داد و از طریق شماره فهرست آنها به آنها دسترسی داشت.

مورد استفاده اصلی مایکروسافت پاورشل(Microsoft PowerShell’s) اتوماسیون است و آرایه ها نقشی اساسی در آن دارند. اشیاء بازگردانده شده توسط cmdlet های PowerShell را می توان در آرایه ها ذخیره کرد و دوباره تکرار کرد. این اجازه می دهد تا وظایف متوالی به طور خودکار انجام شوند و مدیریت سیستم را تا حد زیادی ساده می کند.



About the author

من یک متخصص ویندوز هستم و بیش از 10 سال است که در صنعت نرم افزار کار می کنم. من با هر دو سیستم ویندوز مایکروسافت و اپل مکینتاش تجربه دارم. مهارت‌های من عبارتند از: مدیریت پنجره، سخت‌افزار و صدا کامپیوتر، توسعه اپلیکیشن و غیره. من یک مشاور با تجربه هستم که می توانم به شما کمک کنم تا از سیستم ویندوز خود حداکثر استفاده را ببرید.



Related posts