English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Scala تستخدم نفس أنواع البيانات مثل Java، والجدول أدناه يوضح أنواع البيانات التي يدعمها Scala:
نوع البيانات | الوصف |
---|---|
Byte | عدد صحيح ذو 8 بت، مدى القيمة من -128 إلى 127 |
Short | عدد صحيح ذو 16 بت، مدى القيمة من -32768 إلى 32767 |
Int | عدد صحيح ذو 32 بت، مدى القيمة من -2147483648 إلى 2147483647 |
Long | عدد صحيح ذو 64 بت، مدى القيمة من -9223372036854775808 إلى 9223372036854775807 |
Float | عدد عشري ذو 32 بت يتبع معيار IEEE 754 |
Double | عدد عشري ثنائي ذو 64 بت يتبع معيار IEEE 754 |
Char | حرف Unicode عشري، مدى القيمة من U+0000 إلى U+FFFF |
String | سلسلة من الأحرف |
Boolean | صحيح أو خطأ |
Unit | يُمثل عدم وجود قيمة، ويُماثل void في لغات البرمجة الأخرى. يستخدم كنوع نتيجة لعمليات لا تعود أي شيء. Unit لديه قيمة واحدة فقط، ويكتب ك() |
Null | null أو الإشارة العدمية |
Nothing | نوع Nothing هو في أسفل سلسلة أنواع الكلاسات في Scala؛ هو نوع فرعي لأي نوع آخر |
Any | Any هي النوع الأب للجميع أنواع الأنواع الأخرى |
AnyRef | مصفوفة AnyRef هي نوع الأساس لجميع أنواع الاستدلال (reference class) في Scala |
كل أنواع البيانات المدرجة في الجدول أعلاه هي كائنات، مما يعني أن Scala ليس لديها أنواع أساسية مثل Java. يمكن في Scala إجراء عمليات على الأنواع الأساسية مثل الأرقام.
Scala بسيطة للغاية وجذابة. سنقوم بتوضيح Scala literals بشكل مفصل فيما بعد.
استخدمت القيم النصية العددية لنوع Int، وإذا كان يجب أن تكون Long، يمكنك إضافة L أو l كاسم بعد الرقم كاسم.
0 035 21 0xFFFFFFFF 0777L
إذا كان هناك حرف f أو F بعد عدد عشري، فإن ذلك يعني أن هذا هو نوع Float، وإلا فإنه نوع Double. مثال:
0.0 1e30f 3.14159f 1.0e100 .1
القيم النصية الحقيقية هي true وfalse.
يُكتب نص السمات كما يلي: <identifier> هنا <identifier> يمكن أن يكون أي وسم من أي حرف أو رقم (ملاحظة: لا يمكن أن يبدأ بالرقم). يتم تعيين هذا النوع إلى مثيل من فئة scala.Symbol المسبقة التعريف.
مثلاً: نص السمات 'x هي تعبير scala.Symbol("x") الاختصار، يتم تعريف نص السمات كما يلي:
package scala final case class Symbol private (name: String) { override def toString: String = "'" + name }
في Scala يتم استخدام علامات الاقتباس الصغيرة لتحديد نص واحد. ' لتحديد، مثلما يلي:
'a' '\u0041' '\n' '\t'
من بينها \ يُمثل الحرف المتبادل، ويمكن أن يتبعه u0041 رقم أو \r\n ومثل الأحرف المتبادلة المحددة.
في Scala يتم استخدام علامات الاقتباس المزدوجة لتحديد نص 字ي. "" لتحديد، مثلما يلي:
"Hello, World!" "موقع تعليمات الأساس: ar.oldtoolbag.com"
يُمكن التعبير عن 字符串 متعددة الأسطر باستخدام ثلاثة علامات اقتباس مزدوجة، وتكون النسخة كالتالي:"...".
مثال فيما يلي:
val foo = "تعليمات الأساس" ar.oldtoolbag.com ar.oldtoolbag.com www.runnoob.com يمكن الوصول إلى جميع هذه العناوين بسهولة.
القيمة المطلقة هي نوع scala.Null.
Scala.Null وscala.Nothing أنواع خاصة يتم التعامل معها بطريقة متماثلة مع أنظمة أنواع Scala الموجهة للأمام لمعالجة بعض "الحالات الحدودية".
النوع Null هو نوع استدعاء النوع المطلق، وهو فرع لكل فئة استدعاء (الفئات التي تنسق من AnyRef). لا يمكن أن يكون Null متوافقًا مع أنواع القيم.}}
في الجدول التالي، تم ذكر التحويلات الشائعة لنقاط العكسية:
تحويلات النقاط العكسية | Unicode | الوصف |
---|---|---|
\b | \u0008 | التراجع (BS) ، يضيف السطر الحالي إلى الموقع السابق |
\t | \u0009 | تبويب (HT) (القفز إلى الموقع التالي للتبويب) |
\n | \u000a | سطر (LF) ، يضيف السطر الحالي إلى بداية السطر التالي |
\f | \u000c | صفحة (FF) ، تضيف السطر الحالي إلى بداية الصفحة التالية |
\r | \u000d | مكتبة (CR) ، تضيف السطر الحالي إلى بداية السطر الحالي |
" | \u0022 | تمثل رمز الحرف المائل للاحرف "، |
' | \u0027 | تمثل رمز الحرف المائل للاحرف '، |
\\ | \u005c | تمثل رمز النقطة العكسية للاحرف '\' |
يمكن استخدام سلسلة تحويل ثمانية لتقديم أي حرف Unicode من 0 إلى 255، وهي الشرطية المنقوطة "\" متبوعة ب حتى ثلاثة ثمانيات.
في الأحرف أو النصوص، لا يمكن أن تكون السلسلة الناتجة عن الشرطية المنقوطة و后面的 الأحرف سلسلة تحويل معتمدة مما يؤدي إلى خطأ في التجميع.
في هذا المثال، يتم عرض بعض استخدمات الأنواع الناتجة عن الافتراضات:
object Test { def main(args: Array[String]) { println("Hello\tWorld\n\n"); } }
النتيجة التي تنتج عن تشغيلها كالتالي:
$ scalac Test.scala $ scala TestHello World