learning array in swift
دو جلسه ی قبل به آموزش ساخت و تعامل با آرایه‌ها گذشت،در این جلسه میخواهیم مثالهایی از آرایه‌ها را تمرین کنیم،که به درک ما از این متغیر بلقوه مهم زبان سویفت کمک خواهد کرد.پس در ادامه همراه باشید.
مثالهایی که در ادامه خواهیم دید،مثالهایی از کتاب آموزش زبان سویفت است،که خود شرکت اپل آنرا به رشته‌ی تحریر درآورده،پس اگر مشتاق هستید با این کتاب آشنا شوید میتوانید به سایت اصلی مراجعه کنید.
در جلسه ی قبل با متدی کاربردی برای اضافه کردن مقداری به آرایه آشنا شدید،این متد ()append نام دارد.اما این متد تنها متد کاربردی برای تعامل با آرایه‌ها نیست،به مثال زیر توجه کنید:
٭ تمامی کدها و مثال ها را می توانید در بخش playground تست کنید.
var someInts = [Int]()
print("someInts is of type [Int] with \(someInts.count) items.")

در مثال بالا آرایه‌ای ساختیم که حاوی هیچ مقداری نیست،در اصل میتوان گفت آرایه‌ای ساخته شده،که مقداردهی نشده است و با دستور ()printو استفاده از متد ()count خروجی زیر را خواهیم داشت:

someInts is of type [Int] with 0 items.

همانطور که مشاهده کردید متد ()count وظیفه‌ی شمردن خانه‌های آرایه را بر عهده دارد،ولی از آنجایی که آرایه مورد نظر ما هنوز مقداردهی نشده است عبارت someInts.count مقدار صفر را به خروجی برگرداند.

آشنایی با کامنت‌ها:

موقعیت خوبی است که با عبارت comment آشنا شوید،در برنامه نویسی کامنتها بسیار پر اهمیت هستند.فرض کنید یک برنامه نویس حرفه‌ای میخواهد هزاران خط کد را نوشته و در ضمن متنی را هم کنار کدها به عنوان نشانه یا توضیحی کوچک به برنامه‌ی خود اضافه کند، اینجاست که این برنامه نویس از کامنت استفاده میکند،این کامنتها در کامپایلر اجرا نشده و هیچ خاصیت اجرایی را عهده دار نیستند،از آنها صرفا برای نشانه گذاری(نوشتن توضیح) برای فهم بهتر کدها برای برنامه نویس استفاده میشود.برای نوشتن کامنت باید از علامت // استفاده کنید،تمامی حروف بعد از این علامت صرفا یک متن ساده و غیر قابل اجرا خواهند بود.

نکته: اضافه کردن علامت کامنت ( // ) در کنار کدهای اجرایی (سمت چپ کدها)،میتواند این کدها را صرفا به حروفی غیر قابل اجرا تبدیل کند.

مثال زیر صرفا یک کامنت بوده و هیچ پردازشی از کامپایلر بر روی آن انجام نخواهد پذیرفت:

// this is a comment for explain code.

توجه کنید عبارت // فقط میتواند محتوای یک خط را به کامنت تبدیل کند،برای کامنت کردن چند خط باید به صورت زیر اقدام کنید:

٭ تمامی کدها و مثال ها را می توانید در بخش playground تست کنید.

/*
this is a comment for explain code line1.
this is a comment for explain code line 2.
this is a comment for explain code line 3.
this is a comment for explain code line 4.
this is a comment for explain code line 5.
this is a comment for explain code line 6.
*/

همانطور که در مثال بالا توجه کردید،برای شروع کامنت های طولانی از علامت */ و برای پایان آنها از عبارت /* استفاده کرده ایم.

نکته: اگر در زمان نوشتن کامنت ها در چند خط از علامت انتهای کامنت (/*) استفاده نکنید،تمامی خطهای نوشته شده در ادامه نیز کامنت میشوند،نشانه کامنت نیز رنگ سبز این خطوط است،پس دقت کنید تا به مشکل بر نخورید.

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

مثال زیر را مشاهده کنید:

someInts.append(3)
someInts = []

در مثال بالا همچون متغیر‌ها،ابتدا به آرایه someInts یک مقدار عددی اضافه کردیم (عدد ۳)،سپس در خط زیرین،همان آرایه را خالی تعریف کردیم.

برای کار با متد ها احتیاجی نیست آنها را فقط تکی به کار ببرید،میتوان با ترکیب کردن متد ها کارایی آنها را نیز افزایش داد:

var threeDoubles = [Double](count: 3, repeatedValue: 0.0)

در این مثال متغیری داریم که میتواند اعداد اعشاری را ذخیره کند،با ترکیب متد‌های count  و  repeatedValue توانستیم به متغیر تازه ایجاد شده بگوییم که سه بار عدد 0.0 را در خود ذخیره کن(این متغیر تبدیل به آرایه خواهد شد).پس خروجی به صورت زیر است:

[0.0, 0.0, 0.0]

مثال زیر نیز در ادامه‌ی مثال قبل کاربرد دارد:

var anotherThreeDoubles = [Double](count: 3, repeatedValue: 2.5)
// OUTPUT:[2.5, 2.5, 2.5]

var sixDoubles = threeDoubles + anotherThreeDoubles
// OUTPUT:[0.0, 0.0, 0.0, 2.5, 2.5, 2.5]

نکته:عبارت کامنت شده OUTPUT به معنی خروجی برنامه است که در داخل کد به آن اشاره کردیم.

در مثال بالا متغیر دیگری نیز ساختیم که با استفاده از متد های تکرار count و repeatedValue سه عبارت اعشاری ۲.۵ را به آرایه نسبت دادیم،در خط پایین نیز متغیری ساختیم که دو آرایه‌ی treeDoubles و anotherTreeDoubles ترکیب شده را نگه داری میکند،پس این متغیر نیز خود آرایه‌ای با نوع Doubles خواهد بود.

تا به اینجا تمریناتی از آرایه های عددی داشتیم،آرایه های متنی را نیز تمرین خواهیم کرد،به مثال زیر توجه کنید:

٭ تمامی کدها و مثال ها را می توانید در بخش playground تست کنید.

var shoppingList = ["Eggs", "Milk"]

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

متدی وجود دارد که میتواند خالی بودن یا نبودن یک آرایه را با عبارات True یا False در خروجی نشان دهد،در خروجی این متد true نشانه خالی بودن و false نشانه پر بودن آرایه میباشد.مثال زیر نحوه‌ی کارکرد این متد را نشان میدهد:

shoppingList.isEmpty
// OUTPUT: False

خروجی متد بالا false میباشد،چرا که آرایه shoppingList دارای دو مقدار میباشد،و خالی نیست.

تا به حال برای اضافه کردن مقداری به آرایه یا از عبارت =+ و یا از متد ()append استفاده میکردیم،با متد ()insert آشنا شوید:

shoppingList.insert("water", atIndex: 0)

این دستور عبارت water  را به جایگاه اول آرایه نسبت میدهد.

برای حذف یک رشته از آرایه نیز میتوان از متد ()removeAtIndex استفاده کرد.

let buttle = shoppingList.removeAtIndex(0)

حال آرایه ی ما شامل ۲ مقدار پیشین است و عبارتی که در خانه ی اول آرایه بود (water) را درون ثابت buttle ریختیم.

برای حذف کردن آخرین مقدار درون آرایه به صورت زیر میتوان عمل کرد:

  • let let Milks = shoppingList.removeLast()
  • پس با متد ()removeLast توانستیم آخرین مقدار درون آرایه را حذف و به درون ثابت Milks منتقل کنیم.(آخرین مقدار برابر با عبارت "Milk" میباشد)
  • برای حذف عبارتی مشخص از آرایه نیز به متد ()remove احتیاج پیدا خواهید کرد.
  • shoppingList.remove("Eggs")
  • پس تا به اینجا آرایه‌ی shoppingList دیگر مقداری برای نگه‌داری ندارد.
  •  
  • *تقریبا با تمامی متدهای ضروری آرایه‌ها و نحوه‌ی تعامل با آنها آشنا شدید.در جلسات بعد به نوعی دیگر از آرایه ها میپردازیم که دیکشنری نام دارد.پس همچنان وبلاگ ما را دنبال کنید.
  •  
  • یادآوری:دوستان عزیزی که ابتدا پست های جدید رو مطالعه میکنند،توجه کنید که برای دیدن پست های قبلی و ابتدای این دوره آموزشی، باید به پایینی ترین پست مراجعه کنید و به صفحات قبل برگردید،چرا که ترتیب کلاسها بسیار حائز اهمیت است .