الفرق بين المراجعتين ل"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
}

}

أنظر أيضًا

مصادر