امـیـــــرحســـــین آریا
امـیـــــرحســـــین آریا
خواندن ۲ دقیقه·۴ سال پیش

بوت کمپ Kotlin برای برنامه نویسان اندروید درس پنج قسمت یک: درباره جفت‌ها و سه‌گانه‌ها



۲. درباره جفت‌ها و سه‌گانه‌ها

در این تکلیف شما در مورد جفت‌ها و سه‎گانه‌ها و تخریب ساختار آنها بیشتر می‌آموزید. جفت‌ها و سه‌گانه‌ها کلاس‌های داده‌ای پیش ساخته برای دو یا سه مورد نوعی (generic) هستند. این می‌تواند برای برگرداندن یک یا دو مقدار از یک تابع کاربردی باشد.

فرض کنید که یک List از ماهی و یک تابع ()isFreshWater برای چک کردن ماهی آب شیرین یا ماهی
آب شور داشته باشید. تابع ()List.partition دو لیست برمی‌گرداند، یکی با مورد‌هایی که شرط true دارند، و دیگری برای موردهایی که شرط false دارند.

val twoLists = fish.partition { isFreshWater(it) } println(&quotfreshwater: ${twoLists.first}&quot) println(&quotsaltwater: ${twoLists.second}&quot)


گام ۱: چند جفت و سه‌گانه بسازید

۱. هسته ارتباطی REPL را باز کنید.

۲. یک جفت بسازید، که یک تکه از تجهیزات را با چیزی که برای آن استفاده می شود مرتبط می‌کند، بعد مقادیر را چاپ ‌کنید. شما می‌توانید با ساختن یک عبارت که دو مقدار، مانند دو رشته را، با استفاده از کلمه کلیدی to به هم وصل می‌کند یک جفت بسازید، سپس با استفاده از first. یا second. به هر کدام از مقادیر ارجاع دهید.

val equipment = &quotfish net&quot to &quotcatching fish&quot println(&quot${equipment.first} used for ${equipment.second}&quot)


⇒ fish net used for catching fish

۳. یک سه‌گانه بسازید و آن را با استفاده از ()toString چاپ کنید، سپس آنرا با استفاده از ()toList به یک لیست تبدیل کنید. شما سه‌گانه را با استفاده از ()Triple و سه مقدار می‌سازید. برای ارجاع به هر مقدار از second ،.first. و third. استفاده کنید.

val numbers = Triple(6, 9, 42) println(numbers.toString()) println(numbers.toList())
⇒ (6, 9, 42) [6, 9, 42]

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

۴. یک جفت بسازید که بخش اول آن خود یک جفت است.

val equipment2 = (&quotfish net&quot to &quotcatching fish&quot) to &quotequipment&quot println(&quot${equipment2.first} is ${equipment2.second}\n&quot) println(&quot${equipment2.first.second}&quot)


⇒ (fish net, catching fish) is equipment ⇒ catching fish


گام ۲: ساختار چند جفت و سه‌گانه را تغییر دهید

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

۱. ساختار یک جفت را تغییر دهید و مقادیر آن را چاپ کنید.

val equipment = &quotfish net&quot to &quotcatching fish&quot val (tool, use) = equipment println(&quot$tool is used for $use&quot)


⇒ fish net is used for catching fish

۲. ساختار یک سه گانه را تغییر دهید و مقادیر آن را چاپ کنید.

val numbers = Triple(6, 9, 42)
val (n1, n2, n3) = numbers
println(&quot$n1 $n2 $n3&quot)

⇒ 6 9 42

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


بخش قبل | فهرست درس | بخش بعد

توسعه دهنده وب و نرم افزار - طراح تجربه کاربر و رابط کاربری | لینک بوت کمپ کاتلین https://vrgl.ir/69hcw
شاید از این پست‌ها خوشتان بیاید