الفرق بين المراجعتين ل"Kotlin/Enum/toString"

من موسوعة حسوب
< Kotlin‏ | Enum
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع Enum.toString()‎ في لغة Kotlin}}</noinclude> يطلق التابع <code>toString()</code>‎ استثناءً (exception)...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: التابع Enum.toString()‎ في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: التابع Enum.toString()‎ في لغة Kotlin}}</noinclude>
يطلق التابع <code>toString()</code>‎ استثناءً (exception) لأنّ ثوابت enum  لا يمكن أن تُنسخ. هذا التابع يمنع الأصناف من النوع <code>[[Kotlin/Enum/index|Enum]]</code> من أن ترِث من الصنف <code>Cloneable</code>.  
+
يعيد التابع <code>toString()</code>‎ تمثيلا نصيا للكائن الذي استُدعيت عبره.  
  
 
== البنية العامة ==
 
== البنية العامة ==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
protected fun clone(): Any
+
open fun toString(): String
 +
</syntaxhighlight>
 +
 
 +
== القيمة المُعادة ==
 +
[[Kotlin/String|سلسلة نصية]].
  
</syntaxhighlight>
 
 
== أمثلة ==
 
== أمثلة ==
في الشيفرة الآتية ننشئ صنفًا من النوع <code>Enum</code> باسم <code>ColorEnum</code> مكونًا من أربعة ثوابت  <code>Red</code>  و <code>Blue</code>  و <code>Green</code>  و <code>Orange</code>، ثم ننشئ متغيرًا <code>x</code> يحتوي القيمة <code>RED</code> للصنف <code>ColorEnum</code>، ثم نستدعي الدالة <code>toString()</code>‎عبر <code>x</code> ، وكنتيجة لذلك سيطلق المُصرّف استثناء:<syntaxhighlight lang="kotlin">
+
في الشيفرة الآتية ننشئ صنفًا من النوع <code>Enum</code> باسم <code>ColorEnum</code> مكونًا من أربعة ثوابت  <code>Red</code>  و <code>Blue</code>  و <code>Green</code>  و <code>Orange</code>، ثم ننشئ متغيرًا <code>x</code> يحتوي القيمة <code>RED</code> للصنف <code>ColorEnum</code>، ثم نستدعي الدالة <code>toString()</code>‎عبر <code>x</code> ، ثم نطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
 
     val x = ColorEnum.Red
 
     val x = ColorEnum.Red
     val y = x.clone() // Error:(3, 14) Cannot access 'clone': it is protected in 'ColorEnum'
+
 
 +
     print(x.toString()) // Red
 
}
 
}
  
سطر 29: سطر 33:
  
 
== مصادر ==
 
== مصادر ==
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/clone.html صفحة الدالة Enum.toString()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/to-string.html صفحة الدالة Enum.toString()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Method]]
 
[[تصنيف:Kotlin Method]]

مراجعة 10:31، 4 يوليو 2018

يعيد التابع toString()‎ تمثيلا نصيا للكائن الذي استُدعيت عبره.

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

open fun toString(): String

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

سلسلة نصية.

أمثلة

في الشيفرة الآتية ننشئ صنفًا من النوع Enum باسم ColorEnum مكونًا من أربعة ثوابت  Red  و Blue  و Green  و Orange، ثم ننشئ متغيرًا x يحتوي القيمة RED للصنف ColorEnum، ثم نستدعي الدالة toString()‎عبر x ، ثم نطبع الناتج:

fun main(args: Array<String>) {
    val x = ColorEnum.Red

    print(x.toString()) // Red
}

enum class ColorEnum(val colorCode: Int) 
{
     Red(2),
     Blue(11212),
     Green(21212),
     Orange(212121)
 }

انظر أيضًا

  • الخاصيّة ordinal: تعيد ترتيب مُركّبة الكائن enum الذي استُدعيت عبره، أي ترتيبها في تصريح الكائن enum، بحيث تأخذ المُركّبة الأولى العدد 0
  • الخاصيّة name:تعيد اسم مُركّبة الكائن enum الذي استُدعيت عبره، كما سُمّيت أُثناء تعريف ذلك الكائن. 

مصادر