الفرق بين المراجعتين ل"Kotlin/kotlin.text/trimIndent"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (استبدال النص - 'Kotlin Functions' ب'Kotlin Function')
(مراجعة وتدقيق.)
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>text.trimIndent()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>trimIndent()‎</code> في Kotlin}}</noinclude>
تبحث الدالة <code>trimIndent()‎</code> عن إزاحة دنوية (minimal indent) مشتركة بين جميع أسطر [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها، ثم تمحوها من كل الأسطر، كما تمحو السطر الأول والأخير إن كانا بيضاوين (blanks)، أي مُكوّنان من مسافات بيضاء (whitespaces).   
+
تبحث الدالة <code>trimIndent()‎</code> عن أقل مسافة بادئة (minimal indent) مشتركة بين جميع أسطر [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها، ثم تحذفها من كل الأسطر، وتحذف أيضًا السطر الأول والأخير إن كانا فارغين (blanks)، أي مُكوّنان من مسافات بيضاء (whitespaces) فقط.   
  
تذكّر أن الأسطر البيضاء لا تؤثر في رصد الإزاحة الدنوية.   
+
الجذير بالذكر أن الأسطر الفارغة لا تؤثر في حساب أقل مسافة بادئة مشتركة بين جميع الأسطر.   
  
في حال كان هناك سطر غير أبيض وليس في بدايته مسافات بيضاء، حينها ستكون الإزاحة الدنوية معدومة، وهذا يعني أنّ الدالة لن تغير الإزاحة.   
+
في حال كان هناك سطر غير فارغ ولا يوجد في بدايته أية مسافة بيضاء، فلن يكون هنالك حينئذٍ مسافة بيضاء مشتركة بين الأسطر؛أي أنَّ الدالة لن لن تجري أي تغيير على السلسلة النصية.   
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
سطر 11: سطر 11:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==القيم المعادة==
 
==القيم المعادة==
[[Kotlin/String|سلسلة نصية]].  
+
تعاد [[Kotlin/String|سلسلة نصية]] جديدة تحوي جميع محتويات السلسلة النصية المعطاة بعد إزالة أقل مسافة مشتركة بين جميع أسطرها، وإزالة السطر الأول والأخير إن كانا فارغين.  
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()trimIndent</code> مع سلسلة نصية===
+
مثالٌ على استعمال الدالة <code>()trimIndent</code><nowiki/>:<syntaxhighlight lang="kotlin">
تستدعي الشيفرة الآتية الدالة  <code>()trimIndent</code> عبر [[Kotlin/String|سلسلة نصية]] وتمرّر القيمة المُعادة إلى المتغير <code>withoutIndent</code>، ثم <nowiki/>تطبع الناتج:<syntaxhighlight lang="kotlin">
 
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val withoutIndent =
+
    val withoutIndent =
"""
+
        """
 
             ABC
 
             ABC
 
             123
 
             123
 
             456
 
             456
 
         """.trimIndent()
 
         """.trimIndent()
      
+
 
println(withoutIndent) // ABC\n123\n456
+
     println(withoutIndent) // ABC\n123\n456
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
* <code>[[Kotlin/kotlin.text/trimEnd|trimEnd()]]‎</code>: تعيد  الدالة <code>trimEnd()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها بعد حذف الأحرف الأخيرة التي تحقق الشرط المنطقي المُحدّد <code>predicate.</code>
+
*الدالة <code>[[Kotlin/kotlin.text/trim|trim()]]</code>: تحذف المحارف المحققة لشرط معين، أو محارف محددة، أو المسافات الفارغة من بداية ونهاية [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها.
* <code>[[Kotlin/kotlin.text/trim|trim()]]</code>: تعيد  الدالة <code>trim()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها بعد حذف الأحرف الأولى والأخيرالتي تحقق الشرط المنطقي المُحدّد <code>predicate.</code>
 
 
 
* <code>[[Kotlin/kotlin.text/substringAfter|substringAfter()]]‎</code>: تعيد  الدالة <code>substringAfter()‎</code> جزءًا من [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والمُتواجد بعد أول ظهور للمُحدِّد <code>delimiter،</code> إن لم تكن [[Kotlin/String|السلسلة النصية]] الأصلية تحتوي <code>delimiter</code>، فستعيد القيمة المُمرّرة <code>missingDelimiterValue</code>، والتي قيمتها الافتراضية هي [[Kotlin/String|السلسلة النصية]] الأصلية. 
 
* <code>[[Kotlin/kotlin.text/substringBefore|substringBefore()]]‎</code>: تعيد  الدالة <code>substringBefore()‎</code> جزءًا من [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والمُتواجد قبل أول ظهور للمُحدِّد <code>delimiter،</code> إن لم تكن [[Kotlin/String|السلسلة النصية]] الأصلية تحتوي <code>delimiter</code>، فستعيد القيمة المُمرّرة <code>missingDelimiterValue</code>، والتي قيمتها الافتراضية هي [[Kotlin/String|السلسلة النصية]] الأصلية. 
 
 
 
* <code>[[Kotlin/kotlin.text/removeSuffix|removeSuffix()]]‎</code>: إن كانت [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها الدالة <code>removeSuffix()‎</code> تنتهي باللاحقة <code>suffix</code> فستعيد [[Kotlin/String|سلسلة نصية]] أو [[Kotlin/CharSequence/index|سلسلة حروف]] جديدة مع حذف تلك اللاحقة، وإلا فستعيد [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة الحروف]] كما هي. 
 
* <code>[[Kotlin/kotlin.text/slice|slice()]]‎</code>: تعيد  الدالة <code>slice()‎</code> [[Kotlin/CharSequence/index|سلسلة حروف]] أو [[Kotlin/String|سلسلة نصية]] جديدة تحتوي الحروف التي تنتمي فهارسها إلى الوسيط المُمرر. 
 
  
 +
*الدالة <code>[[Kotlin/kotlin.text/trimEnd|trimEnd()]]‎</code>: تحذف المحارف المحققة لشرط معين، أو محارف محددة، أو المسافات الفارغة من نهاية [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها.
 +
*الدالة <code>[[Kotlin/kotlin.text/trimStart|trimStart()‎]]</code>: تحذف المحارف المحققة لشرط معين، أو محارف محددة، أو المسافات الفارغة من بداية [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها.      
 +
*الدالة <code>[[Kotlin/kotlin.text/trimMargin|trimMargin()‎]]</code>: تحذف جميع المحارف البيضاء البادئة المتبوعة بقيمة محددة من جميع أسطر [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها، كما تحذف السطر الأول والأخير إن كانا فارغين.
 +
* الدالة <code>[[Kotlin/kotlin.text/removePrefix|removePrefix()]]‎</code>: تحذف بادئة معينة من <nowiki/>[[Kotlin/CharSequence|سلسلة من المحارف]] أو سلسلة نصية.
 +
* الدالة <code>[[Kotlin/kotlin.text/substringBeforeLast|substringBeforeLast()‎]]</code>: تجلب كل الجزء الواقع قبل آخر ظهور <nowiki/>[[Kotlin/Char|لمحرف]] أو لسلسلة نصية معينة في سلسلة نصية.  
 +
* الدالة <code>[[Kotlin/kotlin.text/commonPrefixWith|commonPrefixWith()]]‎</code>: تعيد أطول بادئة (prefix) مُشتركة بين <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت معها و<nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] المُمرّرة إليها.
 
==مصادر==
 
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/trim-indent.html الدالة text.trimIndent()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/trim-indent.html الدالة trimIndent()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Function]]
 
[[تصنيف:Kotlin Function]]
 +
[[تصنيف:Kotlin Text]]

المراجعة الحالية بتاريخ 12:55، 6 سبتمبر 2018

تبحث الدالة trimIndent()‎ عن أقل مسافة بادئة (minimal indent) مشتركة بين جميع أسطر السلسلة النصية التي استُدعيت معها، ثم تحذفها من كل الأسطر، وتحذف أيضًا السطر الأول والأخير إن كانا فارغين (blanks)، أي مُكوّنان من مسافات بيضاء (whitespaces) فقط.

الجذير بالذكر أن الأسطر الفارغة لا تؤثر في حساب أقل مسافة بادئة مشتركة بين جميع الأسطر.

في حال كان هناك سطر غير فارغ ولا يوجد في بدايته أية مسافة بيضاء، فلن يكون هنالك حينئذٍ مسافة بيضاء مشتركة بين الأسطر؛أي أنَّ الدالة لن لن تجري أي تغيير على السلسلة النصية.

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

fun String.trimIndent(): String

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

تعاد سلسلة نصية جديدة تحوي جميع محتويات السلسلة النصية المعطاة بعد إزالة أقل مسافة مشتركة بين جميع أسطرها، وإزالة السطر الأول والأخير إن كانا فارغين.

أمثلة

مثالٌ على استعمال الدالة ()trimIndent:

fun main(args: Array<String>) {
    val withoutIndent =
        """
            ABC
            123
            456
        """.trimIndent()

    println(withoutIndent) // ABC\n123\n456
}

انظر أيضًا

مصادر