الفرق بين المراجعتين لصفحة: «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>text.trimMargin()‎</code> في لغة Kotlin}}</noinclude>
تبحث الدالة <code>trimMargin()‎</code> عن إزاحة دنوية (minimal indent) مشتركة بين جميع أسطر [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها، ثم تمحوها من كل الأسطر، كما تمحو السطر الأول والأخير إن كانا بيضاوين (blanks)، أي مُكوّنان من مسافات بيضاء (whitespaces).   
تمحو الدالة <code>trimMargin()‎</code> الإزاحة المشتركة والمتبوعة بالقيمة المحددة <code>marginPrefix</code> من جميع أسطر [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها، كما تمحو السطر الأول والأخير إن كانا بيضاوين (blanks)، أي مُكوّنان من مسافات بيضاء (whitespaces).   


تذكّر أن الأسطر البيضاء لا تؤثر في رصد الإزاحة الدنوية.   
لا تؤثر الدالةُ في الاسطر التي لا تحتوي <code>marginPrefix</code>، باستثناء الأسطر البيضاء الأولى والأخيرة.   


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


</syntaxhighlight>
</syntaxhighlight>
سطر 14: سطر 14:
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()trimMargin</code> مع سلسلة نصية===
===استخدام الدالة <code>()trimMargin</code> مع سلسلة نصية===
تستدعي الشيفرة الآتية الدالة  <code>()trimMargin</code> عبر [[Kotlin/String|سلسلة نصية]] وتمرّر القيمة المُعادة إلى المتغير <code>withoutIndent</code>، ثم <nowiki/>تطبع الناتج:<syntaxhighlight lang="kotlin">
تستدعي الشيفرة الآتية الدالة  <code>()trimMargin</code> عبر [[Kotlin/String|سلسلتين نصية]] وتمرّر القيمة المُعادة إلى المتغيرين <code>withoutMargin2</code> و <code>withoutMargin1</code>، ثم <nowiki/>تطبع الناتج:<syntaxhighlight lang="kotlin">
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>
سطر 37: سطر 40:


==مصادر==
==مصادر==
*[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 الدالة text.trimMargin()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 22:27، 13 يوليو 2018

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

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

marginPrefix سلسلة نصية غير بيضاء والذي يُستخدم كمحدد للهامش، قيمته الابتدائية هي |.

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

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

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

سلسلة نصية.

أمثلة

استخدام الدالة ()trimMargin مع سلسلة نصية

تستدعي الشيفرة الآتية الدالة ()trimMargin عبر سلسلتين نصية وتمرّر القيمة المُعادة إلى المتغيرين withoutMargin2 و withoutMargin1، ثم تطبع الناتج:

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
}

انظر أيضًا

  • trimEnd(): تعيد الدالة trimEnd()‎ جزءًا من سلسلة الحروف التي استُدعيت عبرها بعد حذف الأحرف الأخيرة التي تحقق الشرط المنطقي المُحدّد predicate.
  • trim(): تعيد الدالة trim()‎ جزءًا من سلسلة الحروف أو السلسلة النصية التي استُدعيت عبرها بعد حذف الأحرف الأولى والأخيرالتي تحقق الشرط المنطقي المُحدّد predicate.

مصادر