الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/MatchResult/destructured»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الخاصية <code>MatchResult.destructured</code> في لغة Kotlin}}</noinclude> تعيد الخاصية <code>destructured</code>...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الخاصية <code>MatchResult.destructured</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الخاصية <code>MatchResult.destructured</code> في لغة Kotlin}}</noinclude> | ||
الخاصية <code>destructured</code> تعيد نسخة من الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured/index|MatchResult.Destructured]]،</code> والتي توفّر مركبات لتفكيك قيم المجموعة المُطابقة. المركبة الأولى تقابل قيمة المجموعة المُطابقَة الأولى، والمركبة الثانية تقابل الثانية، وهكذا دواليك. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
open val destructured: Destructured | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
نسخة من الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured/index|MatchResult.Destructured]]</code>. | |||
==أمثلة== | ==أمثلة== | ||
===استخدام الخاصية <code>destructured</code>=== | ===استخدام الخاصية <code>destructured</code>=== | ||
ينشِئ التابع <code>Regex()</code> في الشيفرة الآتية تعبيرًا نمطيًا باسم <code> | ينشِئ التابع <code>Regex()</code> في الشيفرة الآتية تعبيرًا نمطيًا باسم <code>regex</code> لتفكيك مسارات الملفات إلى ثلاث مُركّبات: المجلد (<code>directory</code>) واسم الملف (<code>fileName</code>) والامتداد (<code>extension</code>)، ثم نعرّف سلسلة نصية باسم <code>fullPath</code> تحتوي مسار أحد الملفات، ثم نستخرج من <code>fullPath</code> مجموعات النتائج عبر استدعاء الدالة<code>matchEntire()</code> عبر <code>regex</code> وتمرير <code>fullPath</code> إليها كوسيط، ثم نستخدم الخاصية<code>destructured</code> لاستخراج مجموعات النتائج، ثم نطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
package com.kotlination.filename | |||
fun main(args: Array<String>) { | 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 | |||
} | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==أنظر أيضًا== | ==أنظر أيضًا== | ||
* | * صفحة الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured/index|Destructured]]</code>. | ||
==مصادر== | ==مصادر== | ||
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/- | * [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-match-result/destructured.html الدالة MatchResult.destructured() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Property]] | [[تصنيف:Kotlin Property]] |
مراجعة 17:21، 6 يوليو 2018
الخاصية destructured
تعيد نسخة من الصنف MatchResult.Destructured،
والتي توفّر مركبات لتفكيك قيم المجموعة المُطابقة. المركبة الأولى تقابل قيمة المجموعة المُطابقَة الأولى، والمركبة الثانية تقابل الثانية، وهكذا دواليك.
البنية العامة
open val destructured: Destructured
القيمة المُعادة
نسخة من الصنف MatchResult.Destructured
.
أمثلة
استخدام الخاصية destructured
ينشِئ التابع 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
}
}
أنظر أيضًا
- صفحة الصنف
Destructured
.