الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/MatchResult/destructured»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) مراجعة وتدقيق. |
||
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الخاصية <code>MatchResult.destructured</code> في | <noinclude>{{DISPLAYTITLE: الخاصية <code>MatchResult.destructured</code> في Kotlin}}</noinclude> | ||
الخاصية <code>destructured</code> | تمثل الخاصية <code>MatchResult.destructured</code> نسخةً من الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured|Destructured]]</code> توفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة. | ||
تطابق الدالة <code>[[Kotlin/kotlin.text/MatchResult/Destructured/component1|component1]]</code> قيمة المجموعة الأولى، وتطابق الدالة <code>[[Kotlin/kotlin.text/MatchResult/Destructured/component2|component2]]</code> قيمة المجموعة الثانية، وهلم جرًا. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
سطر 6: | سطر 8: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==القيمة | ==القيمة المعادة== | ||
تعاد نسخةٌ من الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured|Destructured]]</code>. | |||
==أمثلة== | ==أمثلة== | ||
ينشِئ التابع <code>Regex()</code> في الشيفرة التالية تعبيرًا نمطيًا باسم <code>regex</code> لتفكيك مسارات الملفات إلى ثلاث مُركّبات: المجلد (directory) واسم الملف (fileName) والامتداد (extension)، ثم نعرّف سلسلة نصية باسم <code>fullPath</code> تحتوي مسار أحد الملفات، ثم نستخرج من <code>fullPath</code> مجموعات النتائج عبر استدعاء الدالة <code>matchEntire()</code> مع <code>regex</code> وتمرير <code>fullPath</code> إليها كوسيط. نستخدم بعدئذٍ الخاصية <code>MatchResult.destructured</code> لاستخراج مجموعات النتائج:<syntaxhighlight lang="kotlin"> | |||
ينشِئ التابع <code>Regex()</code> في الشيفرة | |||
package com.kotlination.filename | package com.kotlination.filename | ||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val fullPath = "Kotlination/Kotlin/Practice/getFileNameExample.kt" | val fullPath = "Kotlination/Kotlin/Practice/getFileNameExample.kt" | ||
val regex = """(.+)/(.+)\.(.+)""".toRegex() | val regex = """(.+)/(.+)\.(.+)""".toRegex() | ||
val matchResult = regex.matchEntire(fullPath) | val matchResult = regex.matchEntire(fullPath) | ||
if (matchResult != null) { | 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/groupValues|MatchResult.groupValues]]</code>: تمثل [[Kotlin/collection/List|قائمة]] بقيم المجموعة المفهرسة المتطابقة. | ||
* الخاصية <code>[[Kotlin/kotlin.text/MatchResult/groups|MatchResult.groups]]</code>: تمثل [[Kotlin/collections|مجموعةً]] (collection) تضم جميع المجموعات (groups) المتطابقة باستعمال [[Kotlin/kotlin.text/Regex/index|تعبير نمطي]] محدد. | |||
* <nowiki/><nowiki/>الخاصية <code>[[Kotlin/kotlin.text/MatchResult/range|MatchResult.range]]</code>: تمثل مجال الفهارس الذي يحدد مكان مُطابقة [[Kotlin/kotlin.text/Regex/index|تعبير نمطي]] محدد في السلسلة النصية الأصلية. | |||
* الخاصية <code>[[Kotlin/kotlin.text/MatchResult/value|MatchResult.value]]</code>: تمثل [[Kotlin/String|السلسلة النصية]] المُدخلة، أو جزءًا منها، والمُطابقة [[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]]. | |||
==مصادر== | ==مصادر== | ||
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-match-result/destructured.html الخاصية MatchResult.destructured في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | * [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-match-result/destructured.html صفحة الخاصية MatchResult.destructured في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Property]] | [[تصنيف:Kotlin Property]] | ||
[[تصنيف:Kotlin Text]] | |||
[[تصنيف:Kotlin MatchResult]] |
المراجعة الحالية بتاريخ 06:04، 30 أغسطس 2018
تمثل الخاصية MatchResult.destructured
نسخةً من الصنف Destructured
توفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة.
تطابق الدالة component1
قيمة المجموعة الأولى، وتطابق الدالة component2
قيمة المجموعة الثانية، وهلم جرًا.
البنية العامة
open val destructured: Destructured
القيمة المعادة
تعاد نسخةٌ من الصنف Destructured
.
أمثلة
ينشِئ التابع Regex()
في الشيفرة التالية تعبيرًا نمطيًا باسم regex
لتفكيك مسارات الملفات إلى ثلاث مُركّبات: المجلد (directory) واسم الملف (fileName) والامتداد (extension)، ثم نعرّف سلسلة نصية باسم fullPath
تحتوي مسار أحد الملفات، ثم نستخرج من fullPath
مجموعات النتائج عبر استدعاء الدالة matchEntire()
مع regex
وتمرير fullPath
إليها كوسيط. نستخدم بعدئذٍ الخاصية MatchResult.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
}
}
انظر أيضًا
- الخاصية
MatchResult.groupValues
: تمثل قائمة بقيم المجموعة المفهرسة المتطابقة. - الخاصية
MatchResult.groups
: تمثل مجموعةً (collection) تضم جميع المجموعات (groups) المتطابقة باستعمال تعبير نمطي محدد. - الخاصية
MatchResult.range
: تمثل مجال الفهارس الذي يحدد مكان مُطابقة تعبير نمطي محدد في السلسلة النصية الأصلية. - الخاصية
MatchResult.value
: تمثل السلسلة النصية المُدخلة، أو جزءًا منها، والمُطابقة للتعبير النمطي.