الفرق بين المراجعتين لصفحة: «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> فهرس أول مطابقة [[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]] الذي استُدعيت عبره  في الوسيط المُمرّر <code>input،</code>بداية من الفهرس المحدد بالوسيط <code>startIndex.</code>
الخاصية <code>destructured‎</code> تعيد نسخة من الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured/index|MatchResult.Destructured]]،</code> والتي توفّر مركبات لتفكيك قيم المجموعة المُطابقة. المركبة الأولى تقابل قيمة المجموعة المُطابقَة الأولى، والمركبة الثانية تقابل الثانية، وهكذا دواليك.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
actual fun find(
open val destructured: Destructured
    input: CharSequence,
 
    startIndex: Int = 0
): MatchResult?
</syntaxhighlight>
</syntaxhighlight>
==القيمة المُعادة==
==القيمة المُعادة==
عدد صحيح.
نسخة من الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured/index|MatchResult.Destructured]]</code>.
==أمثلة==
==أمثلة==
===استخدام الخاصية <code>destructured‎</code>===
===استخدام الخاصية <code>destructured‎</code>===
ينشِئ التابع <code>Regex()‎</code> في الشيفرة الآتية تعبيرًا نمطيًا باسم <code>reg</code> لمطابقة التعابير العددية، ثم يستدعي عبره الدالة <code>destructured‎</code> ويحيل القيمة المعادة إلى المتغير <code>matchResult</code>، ثم يطبع قيمة الفهرس:<syntaxhighlight lang="kotlin">
ينشِئ التابع <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 reg = """-?\d+(\.\d+)?""".toRegex()


val matchResult = reg.find("aff4rb")
val fullPath = "Kotlination/Kotlin/Practice/getFileNameExample.kt"
   
 
print(matchResult?.value) // 4
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/Regex/pattern|pattern]]:</code> تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
* صفحة الصنف <code>[[Kotlin/kotlin.text/MatchResult/Destructured/index|Destructured]]</code>.
 
* الخاصية <code>[[Kotlin/kotlin.text/Regex/options|options]]:</code> تعبر عن مجموعة الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.


==مصادر==
==مصادر==
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/find.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]]

مراجعة 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
}

}

أنظر أيضًا

مصادر