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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة text.String()‎ في لغة Kotlin}}</noinclude> ينشِئ التابع <code>String()‎</code> مصفوفةً من النوع...'
 
طلا ملخص تعديل
 
(6 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة text.String()‎ في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>String()‎</code> في Kotlin}}</noinclude>
ينشِئ التابع <code>String()‎</code> مصفوفةً من النوع <code>ByteArray</code>  بحجم <code>size</code> مُحدَّدٍ، بحيث كل العناصر تساوي <code>0</code>، وفي حال  تمرير دالة كوسيط فسيُحسَب كلُّ عنصرٍ فيها عبر استدعاء الدالة <code>init</code> المُحدَّدة، والتي تُعيد عنصرًا في المصفوفة بحسب الفهرس (index) المُعطى.  
تحول الدالة <code>String()‎</code> جميع محتويات المصفوفة أو الكائن الممرر إليها (أو جزء منها فقط) إلى سلسلة نصية ويمكن أن تكون بترميز محدد.  


== البنية العامة ==
== البنية العامة ==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
ByteArray(size: Int, init: (Int) -> Byte)
inline fun String(bytes: ByteArray, charset: Charset): String
ByteArray(size: Int)


inline fun String(
    bytes: ByteArray,
    offset: Int,
    length: Int,
    charset: Charset
): String
</syntaxhighlight>
</syntaxhighlight>
'''بيئة التشغيل المطلوبة:''' JVM.


== القيم المعادة ==
تحول الدالة <code>String()‎</code> جميع محتويات المصفوفة <code>bytes</code> أو جزءًا محددًا منها (يبدأ عند العنصر الذي ينزاح بمقدار <code>offset</code> عن أول عنصر ويمتد بطول <code>length</code>) إلى المحارف التي تقابلها بالترميز <code>Charset</code> ثم تعيد ناتج التحويل في [[Kotlin/String|سلسلة نصية]].<syntaxhighlight lang="kotlin">
مصفوفة من النوع <code>ByteArray</code> بالحجم <code>size</code>.
inline fun String(bytes: ByteArray): String
 
inline fun String(
    bytes: ByteArray,
    offset: Int,
    length: Int
): String
</syntaxhighlight>
'''بيئة التشغيل المطلوبة:''' JVM.
تحول الدالة <code>String()‎</code> جميع محتويات المصفوفة <code>bytes</code> أو جزءًا محددًا منها (يبدأ عند العنصر الذي ينزاح بمقدار <code>offset</code> عن أول عنصر ويمتد بطول <code>length</code>) إلى المحارف التي تقابلها بالترميز <code>UTF-8</code> ثم تعيد ناتج التحويل في [[Kotlin/String|سلسلة نصية]].<syntaxhighlight lang="kotlin">
inline actual fun String(chars: CharArray): String


== أمثلة ==
inline actual fun String(
    chars: CharArray,
    offset: Int,
    length: Int
): String


=== استخدام التابع <code>ByteArray()‎</code> لإنشاء المصفوفة ===
</syntaxhighlight>تحول الدالة <code>String()‎</code> جميع محتويات المصفوفة <code>chars</code> أو جزءًا محددًا منها فقط (يبدأ عند العنصر الذي ينزاح بمقدار <code>offset</code> عن أول عنصر ويمتد بطول <code>length</code>) إلى [[Kotlin/String|سلسلة نصية]].<syntaxhighlight lang="kotlin">
ينشِئ التابع <code>ByteArray()‎</code> في الشيفرة الآتية مصفوفةً من ستة عناصر ، ثم تُطبَع عناصر المصفوفة:<syntaxhighlight lang="kotlin">
inline fun String(
import java.util.Arrays
    codePoints: IntArray,
    offset: Int,
    length: Int
): String
</syntaxhighlight>
'''بيئة التشغيل المطلوبة:''' JVM.
تحول الدالة <code>String()‎</code> قيم المحارف (code points) الموجودة في المصفوفة <code>codePoints</code> والتي تبدأ عند العنصر الذي ينزاح بمقدار <code>offset</code> عن أول عنصر ويمتد بطول <code>length</code> إلى [[Kotlin/String|سلسلة نصية]].<syntaxhighlight lang="kotlin">
inline fun String(stringBuffer: StringBuffer): String


fun main(args: Array<String>) {
</syntaxhighlight>'''بيئة التشغيل المطلوبة:''' JVM.
val array = ByteArray(6)
تحول الدالة <code>String()‎</code>  محتويات الكائن <code>stringBuffer</code> إلى [[Kotlin/String|سلسلة نصية]].<syntaxhighlight lang="kotlin">
inline fun String(stringBuilder: StringBuilder): String


print(Arrays.toString(array)) // [0, 0, 0, 0, 0, 0]
}
</syntaxhighlight>
</syntaxhighlight>
=== استخدام الدالة <code>String()‎</code> لإنشاء المصفوفة مع تمرير دالة ===
'''بيئة التشغيل المطلوبة:''' JVM.
ينشِئ التابع <code>String()‎</code> في الشيفرة الآتية مصفوفةً بستة عناصر  عبر تمرير الدالة المٌعرفة <code></code>ثم تُطبَع عناصر المصفوفة:<syntaxhighlight lang="kotlin">
 
import java.util.Arrays
تحول الدالة <code>String()‎</code> محتويات الكائن المُمرّر  <code>[[Kotlin/kotlin.text/StringBuilder|stringBuilder]]</code> إلى [[Kotlin/String|سلسلة نصية]].
 
== المعاملات ==
 
=== <code>bytes</code> ===
مصفوفة من النوع <code>[[Kotlin/ByteArray|ByteArray]]</code> التي يراد تحويلها أو تحويل جزء من عناصرها.
 
=== <code>offset</code> ===
عدد صحيح يحدد مقدار إزاحة العنصر الذي يمثل بداية الجزء المراد تحويله عن العنصر الأول.
 
=== <code>length</code> ===
عدد صحيح يمثل طول الجزء المراد تحويله.
 
=== <code>charset</code> ===
الترميز المراد تحويل المحارف إليه.
 
=== <code>chars</code> ===
مصفوفة من النوع <code>[[Kotlin/CharArray|CharArray]]</code> التي يراد تحويلها أو تحويل جزء من عناصر.
 
=== <code>codePoints</code> ===
مصفوفة من النوع <code>[[Kotlin/IntArray|IntArray]]</code> تمثل قيم محارف الترميز الموحد (Unicode code point) المراد تحويلها.


=== <code>stringBuffer</code> ===
كائن من النوع <code>stringBuffer</code> الذي يراد تحويله.
=== <code>stringBuilder</code> ===
كائن من النوع [[Kotlin/kotlin.text/StringBuilder|<code>stringBuilder</code>]] الذي يراد تحويله.
== القيم المعادة ==
تعاد [[Kotlin/String|سلسلة نصية]] ناتجة عن تحويل جميع محتويات المصفوفة أو الكائن المعطى أو جزء منها.
== أمثلة ==
ينشِئ التابع <code>ByteArray()‎</code> في الشيفرة التالية مصفوفةً باسم <code>array</code> مكونة من عشرة عناصر، ثم تمرَّر إلى الدالة <code>String()‎</code> لتحويل جزء منها إلى [[Kotlin/String|سلسلة نصية]]:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val f: (Int) -> Byte = { x -> x.toByte() }
val f: (Int) -> Byte = { x -> (x+97).toByte() }
val array = ByteArray(6, f)
val array = ByteArray(10, f)
   
val x = String(array, 2, 6)


print(Arrays.toString(array)) // [0, 1, 2, 3, 4, 5]
print(x) // cdefgh
}
}
</syntaxhighlight>
</syntaxhighlight>
== انظر أيضًا ==
== انظر أيضًا ==
* صفحة الصنف <code>[[Kotlin/ByteArray/index|ByteArray]]</code>
* الدالة <code>[[Kotlin/kotlin.text/append|append()‎]]</code> [[Kotlin/CharSequence|سلسلة المحارف]] الممررة إليها إلى الكائن الذي استُدعي معها.
* الخاصيّة <code>[[Kotlin/ByteArray/size|ByteArray.size]]</code>: تعبِّر عن عدد العناصر الموجودة في المصفوفة.
 
* [[Kotlin/classes|الأصناف والبواني (constructors) في لغة Kotlin.]]
* الدالة <code>[[Kotlin/kotlin.text/any|any()]]</code>: تتحقق إن كانت سلسلة من المحارف تحتوي على محرف واحد على أقل تقدير، أو كانت تحتوي على محرف واحد محقق لشرط معين. 
 
* الدالة <code>[[Kotlin/kotlin.text/all|all()]]</code>: تتحقق إن كانت جميع محارف سلسلة معينة من المحارف محققةً لشرط معين. 


== مصادر ==
== مصادر ==
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/-init-.html الدالة text.String()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-string.html صفحة الدالة text.String()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Method]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]

المراجعة الحالية بتاريخ 06:46، 2 سبتمبر 2018

تحول الدالة String()‎ جميع محتويات المصفوفة أو الكائن الممرر إليها (أو جزء منها فقط) إلى سلسلة نصية ويمكن أن تكون بترميز محدد.

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

inline fun String(bytes: ByteArray, charset: Charset): String 

inline fun String(
    bytes: ByteArray, 
    offset: Int, 
    length: Int, 
    charset: Charset
): String

بيئة التشغيل المطلوبة: JVM.

تحول الدالة String()‎ جميع محتويات المصفوفة bytes أو جزءًا محددًا منها (يبدأ عند العنصر الذي ينزاح بمقدار offset عن أول عنصر ويمتد بطول length) إلى المحارف التي تقابلها بالترميز Charset ثم تعيد ناتج التحويل في سلسلة نصية.

inline fun String(bytes: ByteArray): String 

inline fun String(
    bytes: ByteArray, 
    offset: Int, 
    length: Int
): String

بيئة التشغيل المطلوبة: JVM.

تحول الدالة String()‎ جميع محتويات المصفوفة bytes أو جزءًا محددًا منها (يبدأ عند العنصر الذي ينزاح بمقدار offset عن أول عنصر ويمتد بطول length) إلى المحارف التي تقابلها بالترميز UTF-8 ثم تعيد ناتج التحويل في سلسلة نصية.

inline actual fun String(chars: CharArray): String 

inline actual fun String(
    chars: CharArray, 
    offset: Int, 
    length: Int
): String

تحول الدالة String()‎ جميع محتويات المصفوفة chars أو جزءًا محددًا منها فقط (يبدأ عند العنصر الذي ينزاح بمقدار offset عن أول عنصر ويمتد بطول length) إلى سلسلة نصية.

inline fun String(
    codePoints: IntArray, 
    offset: Int, 
    length: Int
): String

بيئة التشغيل المطلوبة: JVM.

تحول الدالة String()‎ قيم المحارف (code points) الموجودة في المصفوفة codePoints والتي تبدأ عند العنصر الذي ينزاح بمقدار offset عن أول عنصر ويمتد بطول length إلى سلسلة نصية.

inline fun String(stringBuffer: StringBuffer): String

بيئة التشغيل المطلوبة: JVM. تحول الدالة String()‎ محتويات الكائن stringBuffer إلى سلسلة نصية.

inline fun String(stringBuilder: StringBuilder): String

بيئة التشغيل المطلوبة: JVM.

تحول الدالة String()‎ محتويات الكائن المُمرّر stringBuilder إلى سلسلة نصية.

المعاملات

bytes

مصفوفة من النوع ByteArray التي يراد تحويلها أو تحويل جزء من عناصرها.

offset

عدد صحيح يحدد مقدار إزاحة العنصر الذي يمثل بداية الجزء المراد تحويله عن العنصر الأول.

length

عدد صحيح يمثل طول الجزء المراد تحويله.

charset

الترميز المراد تحويل المحارف إليه.

chars

مصفوفة من النوع CharArray التي يراد تحويلها أو تحويل جزء من عناصر.

codePoints

مصفوفة من النوع IntArray تمثل قيم محارف الترميز الموحد (Unicode code point) المراد تحويلها.

stringBuffer

كائن من النوع stringBuffer الذي يراد تحويله.

stringBuilder

كائن من النوع stringBuilder الذي يراد تحويله.

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

تعاد سلسلة نصية ناتجة عن تحويل جميع محتويات المصفوفة أو الكائن المعطى أو جزء منها.

أمثلة

ينشِئ التابع ByteArray()‎ في الشيفرة التالية مصفوفةً باسم array مكونة من عشرة عناصر، ثم تمرَّر إلى الدالة String()‎ لتحويل جزء منها إلى سلسلة نصية:

fun main(args: Array<String>) {
val f: (Int) -> Byte = { x -> (x+97).toByte() }
val array = ByteArray(10, f)
    
val x = String(array, 2, 6)

print(x) // cdefgh
}

انظر أيضًا

  • الدالة any(): تتحقق إن كانت سلسلة من المحارف تحتوي على محرف واحد على أقل تقدير، أو كانت تحتوي على محرف واحد محقق لشرط معين. 
  • الدالة all()‎: تتحقق إن كانت جميع محارف سلسلة معينة من المحارف محققةً لشرط معين. 

مصادر