استفاده از این محتوا رایگان میباشد

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

ساختار ForEach و namingLoops در Kotlin

سایت مرجع Kotlin

ساختار ForEach و NamingLoops در Kotlin

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

ساختار حلقه های تکرار

ساختار ForEach و namingLoops در Kotlin

یه روش پرکاربرد و جذاب برای پیمایش آرایه ها حلقه تکرار forEach است.

از این حلقه در listOf و arrayOf میتونیم استفاده کنیم و از for خیلی راحتتر هم هست.

کاربرد $it در حلقه تکرار چیه؟

ما از $ برای قرار دادن نام متغییر استفاده میکنیم.

درواقع  $it به مقدار forEach اشاره میکنه. درواقع forEach یه حلقه اس که آرایه یا لیست رو پیمایش میکنه.

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

برای اینکه به فیلدهای forEach دسترسی داشته باشیم از $it استفاده میکنیم.

مثلا میتونیم $it.length طول رشته رو برامون نمایش بده.

زمان انجام اینکار سیستم بصورت خودکار بلاک استفاده میکنه. چرا؟ وقتی میخوایم داخل یه string از فانکشن یه کلاس استفاده کنیم باید بلاک قرار بدیم.

چون length یه تابع ازکلاس string محسوب میشه و زمان کار با اون باید از بلاک استفاده کنیم.

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

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

در این مثال ما سه متغییر تعریف میکنیم و میخوایم عملیات ضرب و جمع روی این سه متغییر انجام بگیره.

برای انجام اینکار باید سه متغییر رو درون بلاک قرار بدیم و بعد خروجی بگیریم.

ساختار namingLoops

میخوایم با ساختار NamingLoops و حلقه های تکرار، یک جدول ضرب نمایش بدیم.

چون میخوایم روی دوتا متغیر عملیات انجام بدیم،لازمه که بلاک بسازیم.

بعد بلاک هم \t قرار میدیم تا اندازه یه tab بره جلوتر.

و در نهایت نتیجه رو چاپ میکنیم.

در خروجی میتونیم جدول ضرب رو ببینیم.

مثل ویدیوی زیر عمل میکنیم.

خب حالا ما میخوایم 7ردیف اول رو نگه داریم ولی بقیه مقادیر رو حذف کنیم.

ما میایم داخل ساختار for تعریف میکنیم وقتی item=7 قرار گرفت حلقه رو تموم کنه و عملیات break رو انجام بده.

وقتی با break از for خارج میشیم و خروجی میگیریم میبینیم ک جدول ضرب از 1تا 7 بصورت کامل بهمون نشون داده میشه.

چون وقتی break کردیم فقط از for داخلی خارج شدیم و for پدر یا اصلی به عملیات ادامه میده.

حالا ما میخوایم کاری کنیم تا وقتی break میکنیم از for پدر خارج بشه.درواقع مشخص کنیم از کدوم for خارج بشه.

برای اینکار باید برای for پدر یک نام یا NamingLoops قرار بدیم.

میتونین هر اسمی که میخواین برای NamingLoops قرار بدین.

 ما اسم for پدر رو loop1 و حلقه for دوم رو loop2 میذاریم.

وقتی میخوایم break کنیم با گفتن نام حلقه ی موردنظر از اون خارج میشیم.

به این صورت فقط اعداد 1تا 7 به ما نشون داده میشه.

به ویدیوی زیر توجه کنید.

ساختار ForEach و namingLoops در Kotlin

از NamingLoops برای while هم میتونیم استفاده کنیم.

اینطوری وقتی break یا continue رو میزنیم مشخص میکنیم که دقیقا از چه حلقه ی تکراری خارج بشه یا ادامه بده.

توابع String

چندتا تابع از توابع string مونده بود که جلسه پیش بررسی نکردیم، اینجا باهاشون آشنا میشیم.

تابع substring()

تو این تابع اندیس رشته رو تعریف میکنیم و کاراکترهای موجود بین این دو اندیس تو خروجی نشون داده میشه.

مثلا  برای “Alireza” ما اندیس (1,5) رو فراخوانی میکنیم و میبینیم که در خروجی lire به ما نمایش داده میشه.

تابع subList()

ما در مثال test  برای  listOf مقدار تعریف میکنیم.

در test2 از متد test.sublist استفاده میکنیم.

الان test2 شامل یه لیست ئه برای همینم میتونیم از forEach استفاده کنیم.

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

برای درک بهتر این مثال به ویدیوی زیر توجه کنید.

ساختار ForEach و namingLoops در Kotlin

تابع compareTo()

تو این تابع ما یه string تعریف و در ادامه زمان چاپ جلوی این متد رشته ای دیگه تعریف میکنیم.

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

بعنوان مثال “Alireza”  بعنوان رشته اصلی تعریف میکنیم و در ادامه جلوی این متد “Ali”  رو قرار میدیم.

عددی که برمیگرده 4 است.

یعنی رشته “Alireza” چهار کاراکتر بیشتر از “Ali”  داره.

اگه هر دو طرف “Alireza” قرار بدیم، عدد 0 چاپ میشه یعنی این دو رشته هیچ تفاوتی باهمدیگه ندارن.

تابع plus()

این تابع میاد کاراکترهای تعریف شده رو به رشته اصلی اضافه میکنه.

الان دیگه تقریبا با اکثر توابع کاربردی String  آشنا شدیم.

تابع DecimalFormat(java.text)

زبان Kotlin به برنامه نویس اجازه میده برای خوندن بهتر اعداد طولانی از آندرلاین (_) استفاده کنن.

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

آندرلاین تاثیری روی نوع متغیر نداره و برای کامپایلر هیچ مفهومی نداره.

زمان خروجی گرفتن اعداد با نوع متغیر اولیه تعریف شده اشون، نمایش داده میشن.

برای اینکه موقع خروجی گرفتن هم اعداد بصورت جداگونه چاپ بشن از تابع DecimalFormat استفاده میکنیم.

باید حواسمون باشه چون دونوع DecimalFormat وجود داره حتما از نوع DecimalFormat(java.text) استفاده کنیم.

فرمتی که میخوایم اعداد طبق اون نمایش داده بشن،تعریف میکنیم.

مثلا میخوایم اعداد سه تایی یا پنج تایی باشن. ما اینجا فرمت سه تایی رو انتخاب میکنیم.

عدد بزرگی قرار میدیم بنابراین جلوی اون  حرف L رو قرار میدیم یعنی از نوع Long است.

سپس خروجی میگیریم.

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

ساختار ForEach و namingLoops در Kotlin

تابع split()

از این تابع میتونیم برای تبدیل انواع string به array یا همون آرایه ها استفاده میشه.

اینجا از متد split استفاده میکنیم.

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

زمانیکه ما چند string تعریف میکنیم با کاراکتر کاما (,) جدا میشن،حالا به این تابع میگیم هروقت به این کاراکتر رسید تا قبل از اونو یه فیلد در نظر بگیره.

وقتیکه این متغیرها رو چاپ کنیم میبینیم که در قالب یه آرایه به ما نمایش داده میشن.

در split هم میتونیم از forEach استفاده کنیم.

کافیه که هنگام خروجی گرفتن array.forEach{} رو قرار بدیم.

String ها به آرایه تبدیل و بصورت لیست نشون داده میشن.

خب اینا مباحثی بودن که از آموزش های قبلی جا مونده بودن و امروز باهاشون آشنا شدیم.

در آموزش های بعدی هم مارو همراهی کنین.

آموزش داده String درKotlin
آموزش کار با توابع در Kotlin
, , , , ,

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این قسمت نباید خالی باشد
این قسمت نباید خالی باشد
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

فهرست