الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/trimMargin»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>text.trimMargin()‎</code> في لغة Kotlin}}</noinclude> تبحث الدالة <code>trimMargin()‎</code> عن إز...'
 
مراجعة وتدقيق.
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>text.trimMargin()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>trimMargin()‎</code> في Kotlin}}</noinclude>
تبحث  الدالة <code>trimMargin()‎</code> عن إزاحة دنوية (minimal indent) مشتركة بين جميع أسطر [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها، ثم تمحوها من كل الأسطر، كما تمحو السطر الأول والأخير إن كانا بيضاوين (blanks)، أي مُكوّنان من مسافات بيضاء (whitespaces).   
تحذف الدالة <code>trimMargin()‎</code> جميع المحارف البيضاء البادئة المتبوعة بقيمة محددة من جميع أسطر [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها، كما تحذف السطر الأول والأخير إن كانا فارغين (blanks)؛ أي مُكوّنان من مسافات بيضاء (whitespaces).   


تذكّر أن الأسطر البيضاء لا تؤثر في رصد الإزاحة الدنوية. 
لا تؤثر الدالةُ على الاسطر التي لا تحوي القيمة المحددة بالمعامل <code>marginPrefix</code> المعطى، باستثناء الأسطر البيضاء الأولى والأخيرة.   
 
في حال كان هناك سطر غير أبيض وليس في بدايته مسافات بيضاء، حينها ستكون الإزاحة الدنوية معدومة، وهذا يعني أنّ الدالة لن تغير الإزاحة.   
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
fun String.trimIndent(): String
fun String.trimMargin(marginPrefix: String = "|"): String


</syntaxhighlight>
</syntaxhighlight>
== المعاملات ==
=== <code>marginPrefix</code> ===
[[Kotlin/String|سلسلة نصية]] غير فارغة -أي لا تحوي أية مسافة بيضاة- تستعمل كمحدد للهامش المراد حذفه. القيمة الافتراضية هي: <code>|</code> (محرف الأنبوب [pipe character]).
==القيم المعادة==
==القيم المعادة==
[[Kotlin/String|سلسلة نصية]].  
تعاد [[Kotlin/String|سلسلة نصية]] تحوي جميع محتويات السلسلة النصية المعطاة بعد حذف جميع المحارف البيضاء البادئة المتبوعة بالقيمة المحددة بالمعامل <code>marginPrefix</code> من جميع أسطرها، كما تحذف السطر الأول والأخير إن كانا فارغين.  
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()trimMargin</code> مع سلسلة نصية===
مثالٌ على استعمال الدالة <code>()trimMargin</code><nowiki/>:<syntaxhighlight lang="kotlin">
تستدعي الشيفرة الآتية الدالة <code>()trimMargin</code> عبر [[Kotlin/String|سلسلة نصية]] وتمرّر القيمة المُعادة إلى المتغير <code>withoutIndent</code>، ثم <nowiki/>تطبع الناتج:<syntaxhighlight lang="kotlin">
import java.util.*
 
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val withoutIndent =
    val withoutMargin1 = """ABC
"""
                |123
            ABC
                |456""".trimMargin()
            123
     println(withoutMargin1) // ABC\n123\n456
            456
 
        """.trimIndent()
    val withoutMargin2 = """
      
    #XYZ
println(withoutIndent) // ABC\n123\n456
    #foo
    #bar
""".trimMargin("#")
    println(withoutMargin2) // XYZ\nfoo\nbar
}
}
</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/trimEnd|trimEnd()]]‎</code>: تحذف المحارف المحققة لشرط معين، أو محارف محددة، أو المسافات الفارغة من نهاية [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها.
* <code>[[Kotlin/kotlin.text/slice|slice()]]</code>: تعيد  الدالة <code>slice()‎</code> [[Kotlin/CharSequence/index|سلسلة حروف]] أو [[Kotlin/String|سلسلة نصية]] جديدة تحتوي الحروف التي تنتمي فهارسها إلى الوسيط المُمرر
*الدالة <code>[[Kotlin/kotlin.text/trimStart|trimStart()]]</code>: تحذف المحارف المحققة لشرط معين، أو محارف محددة، أو المسافات الفارغة من بداية [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها    


*الدالة <code>[[Kotlin/kotlin.text/trimIndent|trimIndent()‎]]</code>: تبحث عن أقل مسافة بادئة (minimal indent) مشتركة بين جميع أسطر [[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/commonSuffixWith|commonSuffixWith()]]‎</code>: تعيد أطول لاحقة (Suffix) مُشتركة بين <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت معها و<nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] المُمرّرة إليها.
* الدالة <code>[[Kotlin/kotlin.text/substringBefore|substringBefore()]]‎</code>: تجلب كل الجزء الواقع قبل أول ظهور <nowiki/>[[Kotlin/Char|لمحرف]] أو لسلسلة نصية معينة في سلسلة نصية. .  
* الدالة <code>[[Kotlin/kotlin.text/replaceBefore|replaceBefore()‎]]</code>: تبدل سلسلة نصية مكان كل الجزء الواقع قبل أول ظهور <nowiki/>[[Kotlin/Char|لمحرف]] أو لسلسلة نصية معينة في سلسلة نصية. 
==مصادر==
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/trim-indent.html الدالة text.trimMargin()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/trim-margin.html الدالة trimMargin()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]

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

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

لا تؤثر الدالةُ على الاسطر التي لا تحوي القيمة المحددة بالمعامل marginPrefix المعطى، باستثناء الأسطر البيضاء الأولى والأخيرة.

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

fun String.trimMargin(marginPrefix: String = "|"): String

المعاملات

marginPrefix

سلسلة نصية غير فارغة -أي لا تحوي أية مسافة بيضاة- تستعمل كمحدد للهامش المراد حذفه. القيمة الافتراضية هي: | (محرف الأنبوب [pipe character]).

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

تعاد سلسلة نصية تحوي جميع محتويات السلسلة النصية المعطاة بعد حذف جميع المحارف البيضاء البادئة المتبوعة بالقيمة المحددة بالمعامل marginPrefix من جميع أسطرها، كما تحذف السطر الأول والأخير إن كانا فارغين.

أمثلة

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

import java.util.*

fun main(args: Array<String>) {
    val withoutMargin1 = """ABC
                |123
                |456""".trimMargin()
    println(withoutMargin1) // ABC\n123\n456

    val withoutMargin2 = """
    #XYZ
    #foo
    #bar
""".trimMargin("#")
    println(withoutMargin2) // XYZ\nfoo\nbar
}

انظر أيضًا

  • الدالة trimIndent()‎: تبحث عن أقل مسافة بادئة (minimal indent) مشتركة بين جميع أسطر السلسلة النصية التي استُدعيت معها، ثم تحذفها من كل الأسطر، وتحذف أيضًا السطر الأول والأخير إن كانا فارغين.
  • الدالة removePrefix(): تحذف بادئة معينة من سلسلة من المحارف أو سلسلة نصية.
  • الدالة substringBeforeLast()‎: تجلب كل الجزء الواقع قبل آخر ظهور لمحرف أو لسلسلة نصية معينة في سلسلة نصية.  
  • الدالة commonSuffixWith(): تعيد أطول لاحقة (Suffix) مُشتركة بين سلسلة المحارف التي استُدعيت معها وسلسلة المحارف المُمرّرة إليها.
  • الدالة substringBefore(): تجلب كل الجزء الواقع قبل أول ظهور لمحرف أو لسلسلة نصية معينة في سلسلة نصية. .  
  • الدالة replaceBefore()‎: تبدل سلسلة نصية مكان كل الجزء الواقع قبل أول ظهور لمحرف أو لسلسلة نصية معينة في سلسلة نصية. 

مصادر