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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الدالة text.String()‎ في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الدالة text.String()‎ في لغة Kotlin}}</noinclude>
ينشِئ التابع <code>String()‎</code> مصفوفةً من النوع <code>ByteArray</code>  بحجم <code>size</code> مُحدَّدٍ، بحيث كل العناصر تساوي <code>0</code>، وفي حال  تمرير دالة كوسيط فسيُحسَب كلُّ عنصرٍ فيها عبر استدعاء الدالة <code>init</code> المُحدَّدة، والتي تُعيد عنصرًا في المصفوفة بحسب الفهرس (index) المُعطى.  
+
يختلف سلوك الدالة <code>String()‎</code> بحسب نوع وعدد الوسائط المُمررة، انظر فقرة البنية العامة.  
  
 
== البنية العامة ==
 
== البنية العامة ==
سطر 48: سطر 48:
 
</syntaxhighlight>'''بيئة التشغيل المطلوبة: JVM'''
 
</syntaxhighlight>'''بيئة التشغيل المطلوبة: JVM'''
  
تحول الدالة <code>String()‎</code>  نقاط الأكواد (code points) الموجودة في المصفوفة <code>codePoints</code> (بداية من  العنصر ذو الفهرس <code>offset</code> وبطولٍ يساوي <code>length</code>) من جزء إلى [[Kotlin/String|سلسلة نصية]].
+
تحول الدالة <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
  
== القيم المعادة ==
+
</syntaxhighlight>'''بيئة التشغيل المطلوبة: JVM'''
مصفوفة من النوع <code>ByteArray</code> بالحجم <code>size</code>.
+
 
 +
تحول الدالة <code>String()‎</code> محتويات الكائن المُمرّر  <code>stringBuffer</code> إلى [[Kotlin/String|سلسلة نصية]].<syntaxhighlight lang="kotlin">
 +
inline fun String(stringBuilder: StringBuilder): String
  
== أمثلة ==
+
</syntaxhighlight>'''بيئة التشغيل المطلوبة: JVM'''
  
=== استخدام التابع <code>ByteArray()‎</code> لإنشاء المصفوفة ===
+
تحول الدالة <code>String()‎</code> محتويات الكائن المُمرّر  <code>stringBuilder</code> إلى [[Kotlin/String|سلسلة نصية]].
ينشِئ التابع <code>ByteArray()‎</code> في الشيفرة الآتية مصفوفةً من ستة عناصر ، ثم تُطبَع عناصر المصفوفة:<syntaxhighlight lang="kotlin">
 
import java.util.Arrays
 
  
fun main(args: Array<String>) {
+
== القيم المعادة ==
val array = ByteArray(6)
+
[[Kotlin/String|سلسلة نصية]].
  
print(Arrays.toString(array)) // [0, 0, 0, 0, 0, 0]
+
== أمثلة ==
}
 
</syntaxhighlight>
 
=== استخدام الدالة <code>String()‎</code> لإنشاء المصفوفة مع تمرير دالة ===
 
ينشِئ التابع <code>String()‎</code> في الشيفرة الآتية مصفوفةً بستة عناصر  عبر تمرير الدالة المٌعرفة <code>f،</code>ثم تُطبَع عناصر المصفوفة:<syntaxhighlight lang="kotlin">
 
import java.util.Arrays
 
  
 +
=== استخدام الدالة<code>String()‎</code>  ===
 +
ينشِئ التابع <code>ByteArray()‎</code> في الشيفرة الآتية مصفوفةً باسم <code>array</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/ByteArray/index|ByteArray]]</code>
* الخاصيّة <code>[[Kotlin/ByteArray/size|ByteArray.size]]</code>: تعبِّر عن عدد العناصر الموجودة في المصفوفة.
+
 
* [[Kotlin/classes|الأصناف والبواني (constructors) في لغة Kotlin.]]
+
* <code>[[Kotlin/text/isDefined|isDefined()]]</code>: تعيد القيمة <code>true</code> في حال كان الحرف (Unicode code point) الذي استٌدعيت عبره مُعرّفًا في اليونيكود (Unicode).
 +
 
 +
* الخاصية <code>[[Kotlin/kotlin.text/indices|indices]]</code>: تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) لسلسلة الحروف التي استُدعيت عبرها.
  
 
== مصادر ==
 
== مصادر ==
* [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 Method]]

مراجعة 11:53، 7 يوليو 2018

يختلف سلوك الدالة String()‎ بحسب نوع وعدد الوسائط المُمررة، انظر فقرة البنية العامة.

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

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

بيئة التشغيل المطلوبة: JVM تحول الدالة String()‎ جزءًا من المصفوفة bytes (بداية من العنصر ذو الفهرس offset وبطولٍ يساوي length) باستخدام مجموعة الحروف (character set) المُمرّرة charset وتعيد ناتج التحويل على شكل سلسلة نصية.

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

بيئة التشغيل المطلوبة: JVM تحول الدالة String()‎ المصفوفة bytesباستخدام مجموعة الحروف (character set) المُمرّرة charset وتعيد ناتج التحويل على شكل سلسلة نصية.

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

بيئة التشغيل المطلوبة: JVM تحول الدالة String()‎ جزءًا من المصفوفة bytes (بداية من العنصر ذو الفهرس offset وبطولٍ يساوي length) باستخدام مجموعة الحروف UTF-8 وتعيد ناتج التحويل على شكل سلسلة نصية.

inline fun String(bytes: ByteArray): String

بيئة التشغيل المطلوبة: JVM تحول الدالة String()‎ المصفوفة bytes باستخدام مجموعة الحروف UTF-8 وتعيد ناتج التحويل على شكل سلسلة نصية.

inline actual fun String(chars: CharArray): String

تحول الدالة String()‎ الحروف الموجودة في المصفوفة chars إلى سلسلة نصية.

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 إلى سلسلة نصية.

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

سلسلة نصية.

أمثلة

استخدام الدالةString()‎

ينشِئ التابع ByteArray()‎ في الشيفرة الآتية مصفوفةً باسم array مكونة من عشرة عناصر ، ثم نمرر 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
}

انظر أيضًا

  • isDefined(): تعيد القيمة true في حال كان الحرف (Unicode code point) الذي استٌدعيت عبره مُعرّفًا في اليونيكود (Unicode).
  • الخاصية indices: تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) لسلسلة الحروف التي استُدعيت عبرها.

مصادر