Latest web development tutorials

سكالا القواعد الأساسية

إذا كنت مبرمجا جافا من قبل، وتعلم أساسيات لغة جافا، لذلك يمكنك ان تتعلم بسرعة القواعد الأساسية سكالا.

سكالا و Java أكبر الفرق هو: سكالا منقوطة في نهاية البيان، وليس اختياري.

يمكن أن نفكر في برنامج سكالا هو مجموعة من الكائنات التي كتبها كل استدعاء الأسلوب لتنفيذ الرسائل. والآن نأتي إلى فهم، والطبقة، ومفهوم الأشياء والأساليب والمتغيرات سبيل المثال:

  • الأجسام - أشياء لها خصائص والسلوكيات.على سبيل المثال: سمات مثل الكلب: اللون والاسم والسلوك: الاتصال، تشغيل، وتناول الطعام وهلم جرا. الهدف من ذلك هو مثيل فئة.

  • الفئة - الفئة هي كائن مجردة، والهدف من ذلك هو مثيل معين لفئة.

  • طريقة - الطريقة الموصوفة في القانون الأساسي، ويمكن أن تحتوي فئة أساليب متعددة.

  • الحقول - كل كائن لديه مجموعة فريدة من المتغيرات سبيل المثال، وهي المجالات.خصائص الكائن من خلال تعيين الحقل المراد إنشاؤه.


برنامج سكالا الأول

البرمجة التفاعلية

البرمجة التفاعلية يست في حاجة لإنشاء ملف نصي، يمكنك الاتصال على الأمر التالي:

$ scala
Welcome to Scala version 2.11.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_31).
Type in expressions to have them evaluated.
Type :help for more information.

scala> 1 + 1
res0: Int = 2

scala> println("Hello World!")
Hello World!

scala> 

شكل نصي

يمكننا أيضا إنشاء ملف HelloWorld.scala لتنفيذ رمز، رمز HelloWorld.scala على النحو التالي:

object HelloWorld {
   /* 这是我的第一个 Scala 程序
    * 以下程序将输出'Hello World!' 
    */
   def main(args: Array[String]) {
      println("Hello, world!") // 输出 Hello World
   }
}

التالي نستخدم قيادة scalac لترجمة ذلك:

$ scalac HelloWorld.scala 
$ ls
HelloWorld$.class	HelloWorld.scala
HelloWorld.class	

بعد تجميع، يمكننا أن نرى الدلائل التي أنشئت في إطار ملف HelloWorld.class التي يمكن تشغيلها على آلة جافا الافتراضية (JVM) على.

بعد تجميع، يمكننا استخدام الأمر التالي لتنفيذ البرنامج:

$ scala HelloWorld
Hello, world!
أمثلة على الانترنت >>

بناء الجملة الأساسية

سكالا الجملة الأساسية، لاحظ ما يلي:

  • حالة الأحرف - سكالا هو لحالة الأحرف، وهو ما يعني شعار مرحبا مرحبا ولها معان مختلفة في سكالا.

  • اسم الفئة - لجميع اسم الفئة يجب رسملة الحرف الأول.

    إذا كنت بحاجة إلى استخدام عدد قليل من الكلمات لتشكل اسم الفئة، والحرف الأول من كل كلمة رسملة.

    مثال: فئة MyFirstScalaClass

  • اسم الأسلوب - الحرف الأول من كل أساليب أسماء صغيرة.

    إذا تم استخدام العديد من الكلمات لتشكل اسم الأسلوب، يجب أن يكون أول حرف من كل كلمة.

    على سبيل المثال: صفر myMethodName ()

  • اسم ملف - اسم ملف البرنامج يجب أن تتطابق تماما مع اسم الكائن.

    عند حفظ الملف، يجب أن حفظ اسم الكائن استخدام (تذكر سكالا لحالة الأحرف)، وإلحاق ".scala" ملف التمديد. (إذا كان اسم الملف وجوه الأسماء لا تطابق، فإن البرنامج لا ترجمة).

    على سبيل المثال: دعونا نقول "HelloWorld" هو اسم الكائن. ثم يجب حفظ ملف باسم 'HelloWorld.scala "

  • مواطنه الرئيسية (وسائط: صفيف [سلسلة ]) - سكالا البرنامج من الأسلوب الرئيسي () يبدأ التجهيز، والذي هو جزء إلزامي لكل برنامج سكالا دخول البرنامج.


معرفات

يمكن استخدام سكالا شكلين من معرفات والشخصيات الرقمية والرموز.

استخدام أبجدية تبدأ بحرف أو يمكن أن يتبعها حرف أو رقم تؤكد، ويعتبر رمزا "$" في سكالا أيضا الحروف. ومع ذلك، باستخدام المعرف، وتطبيق ل"$" في بداية معرف محجوز مترجم سكالا يجب تجنب استخدام "$" ابدأ معرف لتجنب الصراع.

سكالا وجافا اصطلاح التسمية باستخدام جمل تسمية مشابهة، أول صغيرة شخصية، مثل toString. الحرف الأول أسماء فئة أو أحرف كبيرة. بالإضافة إلى ذلك فإنه يجب تجنبها من أجل تأكيد نهاية معرف لتجنب التصادم. ويضم رمز معرف واحد أو أكثر من الرموز، مثل +،:، الخ، مثل:

+ ++ ::: < ?> :->

فإنه يستخدم معرف هرب عندما سكالا التنفيذ خارجي، مثل: -> استخدام $ القولون $ $ ناقص أكبر لتمثيل الرمز. حتى إذا كنت بحاجة إلى الوصول إلى شفرة جافا: -> طريقة، تحتاج إلى استخدام اسم $ القولون $ $ ناقص أكبر الداخلي سكالا.

معرف أبجدية مختلطة من المعرف في وقت لاحق تليها واحدة أو أكثر من الرموز، مثل unary_ سكالا + اسم + طريقة لوقت التنفيذ خارجي. يتم تعريف المعرف الحرفي عن السلسلة "، لexample` x`` yield`.

يمكنك استخدام أي معرف سكالا صالح في بين "، سيتم تفسير سكالا كمعرف سكالا، والاستخدام الأمثل للالموضوع من طريقة العائد، في سكالا لا يمكنك استخدام Thread.yield () لأن العائد من سكالا الكلمات الرئيسية، يجب عليك استخدام Thread.`yield` () لاستخدام هذا الأسلوب.


كلمات سكالا

يسرد الجدول التالي سكالا محفوظة الكلمات الرئيسية، ونحن لا يمكن استخدام الكلمات الأساسية التالية كمتغيرات:

ملخص حالة قبض على فئة
صفر فعل آخر يمتد
زائف نهائي أخيرا إلى
forSome إذا ضمني استيراد
كسول مباراة جديد باطل
موضوع تجاوز صفقة خاص
محمي عودة مختوم السوبر
هذا رمي سمة محاولة
صحيح نوع فال فار
في حين مع محصول
- : = =>
<- <: >:
# @

سكالا تعليق

سكالا هو مماثل لكثير جافا يدعم تعليقات سطر واحد. تعليقات خط متعددة يمكن أن تتداخل، ولكن يجب أن تكون متداخلة بشكل صحيح، وهو التعليق الذي يبدأ برمز المقابلة لإنهاء رمز. سيتم تجاهل المترجم ملاحظة سكالا، والأمثلة على النحو التالي:

object HelloWorld {
   /* 这是一个 Scala 程序
    * 这是一行注释
    * 这里演示了多行注释
    */
   def main(args: Array[String]) {
      // 输出 Hello World
      // 这是一个单行注释
      println("Hello, world!") 
   }
}

الأسطر الفارغة والمساحات

فقط سطر واحد مع مساحة أو تعليقات، سوف سكالا أعتقد أنه سطر فارغ، فإنه سيتم تجاهله. علامات يمكن أن يكون مسافات أو تعليق لتقسيم.


السطر الجديد

سكالا هي لغة موجهة خط، البيان بفاصلة منقوطة (؛) نهاية أو خط فواصل. برنامج سكالا، الفاصلة المنقوطة في نهاية البيان عادة اختيارية. إذا كنت على استعداد لدخول واحد، ولكن إذا كان هناك سطر واحد فقط في البيان أو لا يكتب. من ناحية أخرى، إذا كنت أكتب عبارات متعددة في صف واحد لذلك هناك حاجة الفاصلة المنقوطة. مثلا

val s = "本教程"; println(s)

حزمة سكالا

حزم مخصصة

ويعرف سكالا باستخدام حزمة حزمة الكلمة، في التعليمات البرمجية سكالا لتحديد حزمة من ناحيتين:

الأسلوب الأول، وجافا، كما هو الحال في يحدد رأس ملف اسم الحزمة، وهذه الطريقة تتبع توضع جميع رموز في الصحيفة. على سبيل المثال:

package com.w3big
class HelloWorld

الطريقة الثانية هي تشبه إلى حد ما C #، مثل:

package com.w3big {
  class HelloWorld 
}

الطريقة الثانية، يمكنك تحديد حزم متعددة في ملف.

اقتبس

سكالا باستخدام استيراد حزمة الإشارة الكلمات الرئيسية.

import java.awt.Color  // 引入Color
 
import java.awt._  // 引入包内所有成员
 
def handler(evt: event.ActionEvent) { // java.awt.event.ActionEvent
  ...  // 因为引入了java.awt,所以可以省去前面的部分
}

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

إذا أردت أن أعرض مجموعة من عدة أعضاء، يمكنك استخدام محدد (المنتقى):

import java.awt.{Color, Font}
 
// 重命名成员
import java.util.{HashMap => JavaHashMap}
 
// 隐藏成员
import java.util.{HashMap => _, _} // 引入了util包的所有成员,但是HashMap被隐藏了

ملاحظة: افتراضيا، سكالا قدم دائما java.lang._، scala._ وPredef._، هنا يمكنك أيضا شرح السبب في أن رئيس سكالا من الحزمة، عند استخدام سكالا يتم حذف.