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