الخاصية MatchResult.groupValues في لغة Kotlin

من موسوعة حسوب
مراجعة 21:42، 6 يوليو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الخاصية <code>MatchResult.groupValues</code> في لغة Kotlin}}</noinclude> الخاصية <code>groupValues</code> تعيد نسخة...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

الخاصية groupValues تعيد نسخة من الصنف MatchResult.Destructured، والتي توفّر مركبات لتفكيك قيم المجموعة المُطابقة. المركبة الأولى تقابل قيمة المجموعة المُطابقَة الأولى، والمركبة الثانية تقابل الثانية، وهكذا دواليك.

البنية العامة

open val destructured: Destructured

القيمة المُعادة

نسخة من الصنف MatchResult.Destructured.

أمثلة

استخدام الخاصية groupValues

ينشِئ التابع Regex()‎ في الشيفرة الآتية تعبيرًا نمطيًا باسم regex لتفكيك مسارات الملفات إلى ثلاث مُركّبات: المجلد (directory) واسم الملف (fileName) والامتداد (extension)، ثم نعرّف سلسلة نصية باسم fullPath تحتوي مسار أحد الملفات، ثم نستخرج من fullPath مجموعات النتائج عبر استدعاء الدالةmatchEntire()‎  عبر regex وتمرير fullPath إليها كوسيط، ثم نستخدم الخاصيةdestructured‎ لاستخراج مجموعات النتائج، ثم نطبع الناتج:

package com.kotlination.filename

fun main(args: Array<String>) {

val fullPath = "Kotlination/Kotlin/Practice/getFileNameExample.kt"

val regex = """(.+)/(.+)\.(.+)""".toRegex()
val matchResult = regex.matchEntire(fullPath)

if (matchResult != null) {
  val (directory, fileName, extension) = matchResult.destructured
  println("dir: $directory | fileName: $fileName | extension: $extension")
  // => dir: Kotlination/Kotlin/Practice | fileName: getFileNameExample | extension: kt
}

}

أنظر أيضًا

مصادر