Pernyataan skala


Jika anda mempunyai pemahaman yang baik tentang bahasa Java, maka ia akan menjadi mudah untuk mempelajari Scala. Perbezaan sintaks terbesar antara Scala dan Java ialah penamat baris adalah pilihan. Pertimbangkan program Scala yang boleh ditakrifkan sebagai koleksi objek yang berkomunikasi dengan memanggil kaedah satu sama lain. Sekarang, lihat secara ringkas apa yang dipanggil kelas, objek, kaedah dan pembolehubah sementara.

  • Objek - Objek mempunyai keadaan dan tingkah laku. Sebagai contoh: seekor anjing mempunyai keadaan - warna, nama, baka, dan ia mempunyai tingkah laku - mengibas, menyalak, makan. Objek ialah contoh kelas.

  • Kelas - Kelas boleh ditakrifkan sebagai templat/cetak biru untuk menerangkan tingkah laku/menunjukkan jenis objek sokongannya.

  • Kaedah - Kaedah pada asasnya adalah tindakan. Kelas boleh mengandungi banyak kaedah. Ia adalah dalam kaedah di mana logik ditulis, data dimanipulasi dan semua tindakan dilakukan.

  • Medan − Setiap objek mempunyai set unik pembolehubah sementara, yang dipanggil medan. Keadaan objek dicipta oleh nilai yang diberikan kepada medan ini.

Program Scala pertama:

Pengaturcaraan mod interaktif:

Memanggil jurubahasa tanpa menghantar fail skrip sebagai parameter akan memaparkan gesaan berikut:

C:>scalaWelcome to Scala version 2.9.0.1Type in expressions to have them evaluated.Type :help for more information.scala>

      Taip teks berikut ke dalam gesaan Scala dan tekan Enter:

scala> println("Hello, Scala!");

Ini akan menghasilkan keputusan berikut:

Hello, Scala!

Pengaturcaraan mod skrip:

Mari lihat kod ringkas yang mencetak ayat mudah: Hello, World!

object HelloWorld {   /* This is my first java program.  
    * This will print 'Hello World' as the output
    */   def main(args: Array[String]) {
      println("Hello, world!") // prints Hello World   }}

Mari lihat cara menyimpan fail, menyusun dan menjalankan program. Sila ikuti langkah di bawah:

  1.                 Buka notepad dan tambah kod di atas.

  2. Simpan fail sebagai: HelloWorld.scala.

  3. Buka tetingkap command prompt dan tukar ke direktori tempat anda menyimpan fail program. Katakan ia C:>

  4.                       Taip "scalac HelloWorld.scala" dan tekan Enter untuk menyusun kod. Jika tiada ralat dalam kod, gesaan arahan akan secara automatik membalut ke baris seterusnya.

  5. Perintah di atas akan menghasilkan beberapa fail kelas dalam direktori semasa. Salah satu nama ialah HelloWorld.class. Ini ialah bytecode yang boleh dijalankan pada Java Virtual Machine (JVM).

  6. Sekarang, taip "scala HelloWorld" untuk menjalankan program.

  7. Anda boleh melihat "Hello, World!"

C:> scalac HelloWorld.scala
C:> scala HelloWorldHello, World!

Tatabahasa Asas

Mengenai program Scala, adalah sangat penting untuk memberi perhatian kepada perkara berikut.

  • Sensitif Huruf - Scala adalah sensitif huruf besar-besaran, yang bermaksud bahawa pengecam Hello dan Hello akan mempunyai makna yang berbeza dalam Scala.

  • Nama Kelas - Gunakan huruf besar pada huruf pertama semua nama kelas.

    Jika anda perlu menggunakan beberapa perkataan untuk membentuk nama kelas, gunakan huruf besar bagi setiap perkataan.

    Contoh: kelas MyFirstScalaClass

  • Nama Kaedah - Huruf pertama bagi semua nama kaedah ialah huruf kecil.

    Jika beberapa perkataan digunakan untuk membentuk nama kaedah, huruf pertama setiap perkataan hendaklah menggunakan huruf besar.

    Contoh: def myMethodName()

  • Nama Fail Program - Nama fail program hendaklah sepadan dengan nama objek dengan tepat.

    Apabila menyimpan fail, anda harus menyimpannya menggunakan nama objek (ingat Scala adalah sensitif huruf besar-besaran) dan tambahkan ".scala" sebagai sambungan fail. (Jika nama fail dan nama objek tidak sepadan, program tidak akan disusun).

    Contoh: Anggap "HelloWorld" ialah nama objek. Kemudian fail itu hendaklah disimpan sebagai 'HelloWorld.scala"

  • def main(args: Array[String]) - Program Scala mula memproses dari main( ) kaedah, Ini adalah bahagian kemasukan program wajib bagi setiap program Scala. Pengubah suai skala:

  • Semua komponen Scala memerlukan nama. Menggunakan nama objek, kelas, pembolehubah dan kaedah dipanggil pengecam. Kata kunci tidak boleh digunakan sebagai pengecam dan pengecam adalah sensitif huruf besar-besaran. Scala menyokong empat pengecam jenis berikut:

Pengecam literal

Pengecam abjad angka bermula dengan huruf atau garis bawah dan boleh menggunakan huruf, nombor atau garis bawah. Aksara "$" ialah kata kunci terpelihara dalam Scala dan tidak boleh digunakan dalam pengecam. Berikut ialah pengecam abjad yang sah:

age, salary, _value,  __1_value

Berikut ialah pengecam haram:

$salary, 123abc, -salary

          Pengecam operator

Pengecam operator terdiri daripada satu atau lebih aksara operator. Aksara operasi ialah aksara ASCII yang boleh dicetak seperti +, :, ?, ~ atau #. Berikut ialah pengecam pengendali yang sah:

+ ++ ::: <?> :>

Pengkompil Scala secara dalaman akan "menggelek" pengecam pengendali supaya ia menjadi pengecam Java yang sah, membenamkan aksara $. Sebagai contoh, pengecam:-> akan diwakili secara dalaman sebagai $colon$tolak$greater.

Pengecam bercampur

Pengecam bercampur dikenal pasti oleh pengecam abjad angka, diikuti dengan garis bawah dan pengendali. Berikut ialah pengecam campuran sah:

unary_+,  myvar_=

Di sini, unary_+ digunakan sebagai nama kaedah untuk mentakrifkan operator + unary dan myvar_= digunakan sebagai nama kaedah untuk menentukan operator tugasan.

Pengecam segera

Pengecam literal ialah sebarang rentetan aksara yang disertakan dalam kutu belakang (` . . . `). Berikut ialah teg teks undang-undang:

`x` `<clinit>` `yield`

Kata kunci Scala:

Senarai berikut menunjukkan perkataan terpelihara dalam Scala. Kata kunci terpelihara ini tidak boleh digunakan sebagai pemalar atau pembolehubah, atau sebarang nama pengecam lain.

                        abstrak                        kes                        tangkap                        kelas
                        def                        lakukan                        lain                        memanjangkan
                        palsu                        akhir                        akhirnya                        untuk
                        untukSesetengah                        jika                        tersirat                        import
                        malas                        perlawanan                        baharu                        null
                        objek                        mengatasi                        pakej                        peribadi
                        dilindungi                        kembali                        dimeterai                        hebat
                        ini                        baling                        sifat                        cuba
                        benar                        taip                        val                        var
                        manakala                        dengan                        hasil                         
                        -                        :                        =                        =>
                        <-                        <:                        <%                        >:
                      #                     @                                            

Komen dalam Scala

Scala menyokong komen satu baris dan berbilang baris seperti Java. Komen berbilang baris boleh bersarang, tetapi ia mesti disarang dengan betul. Sebarang komen dan semua aksara yang tersedia akan diabaikan oleh pengkompil Scala.

object HelloWorld {   /* This is my first java program.  
    * This will print 'Hello World' as the output
    * This is an example of multi-line comments.
    */   def main(args: Array[String]) {      // Prints Hello World      // This is also an example of single line comment.
      println("Hello, world!") 
   }}

Garis dan ruang kosong:

Baris yang mengandungi hanya ruang putih, mungkin dengan ulasan, dipanggil baris kosong dan Scala akan mengabaikannya sepenuhnya. Teg boleh dipisahkan dengan ruang dan/atau ulasan.

Pecah baris:

Scala ialah bahasa berorientasikan baris, dan pernyataan boleh ditamatkan dengan koma bertitik (;) atau aksara baris baharu. Titik koma pada akhir pernyataan biasanya pilihan. Anda boleh menaip pernyataan yang diingini jika ia muncul pada baris dengan sendirinya. Sebaliknya, jika anda menulis berbilang pernyataan dalam satu baris, koma bertitik diperlukan:

val s = "hello"; println(s)

                Pakej Scala:

Pakej ialah modul bernama kod. Contohnya, pakej utiliti Lift net.liftweb.util. Pengisytiharan pakej ialah baris pertama bukan ulasan dalam fail sumber, seperti yang ditunjukkan di bawah:

package com.liftcode.stuff

Pakej Scala boleh diimport, membolehkannya dirujuk dalam skop kompilasi semasa. Pernyataan berikut ialah kandungan pakej scala.xml yang diimport:

import scala.xml._

Kelas dan objek berkapsul boleh diimport, contohnya, HashMap daripada scala.collection.mutable:

import scala.collection.mutable.HashMap

Berbilang kelas atau objek boleh diimport daripada satu pakej scala.collection.immutable terkapsul, contohnya, TreeMap dan TreeSet:

import scala.collection.immutable.{TreeMap, TreeSet}