Latest web development tutorials

Scala tata bahasa dasar

Jika Anda seorang programmer Java sebelumnya, dan mempelajari dasar-dasar bahasa Java, sehingga Anda dapat dengan cepat mempelajari tata bahasa dasar Scala.

Scala dan Jawa perbedaan terbesar adalah: scala titik koma pada akhir pernyataan, adalah opsional.

Kami bisa memikirkan program Scala adalah kumpulan objek dengan masing-masing metode panggilan untuk melaksanakan pesan. Selanjutnya kita datang untuk memahami, kelas, konsep objek, metode, variabel misalnya:

  • Benda - benda memiliki sifat dan perilaku.Sebagai contoh: atribut seperti anjing: warna, nama, perilaku: call, berjalan, makan dan sebagainya. Objek merupakan instance dari kelas.

  • Kelas - kelas adalah obyek abstrak, dan objek adalah contoh spesifik dari kelas.

  • Metode - metode yang dijelaskan dalam tindakan dasar, kelas dapat berisi beberapa metode.

  • Fields - Setiap objek memiliki seperangkat unik dari variabel misalnya, yaitu bidang.Properti dari objek melalui tugas lapangan yang akan dibuat.


Program Scala pertama

Pemrograman interaktif

pemrograman interaktif tidak perlu membuat file script, Anda dapat memanggil perintah berikut:

$ 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> 

bentuk Script

Kami juga bisa membuat file HelloWorld.scala untuk mengeksekusi kode, kode HelloWorld.scala sebagai berikut:

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

Selanjutnya kita menggunakan perintah scalac melakukan kompilasi:

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

Setelah kompilasi, kita bisa melihat direktori yang dibuat pada berkas HelloWorld.class yang dapat berjalan di Java Virtual Machine (JVM) pada.

Setelah kompilasi, kita dapat menggunakan perintah berikut untuk menjalankan program:

$ scala HelloWorld
Hello, world!
contoh online >>

Dasar sintaks

Scala sintaks dasar, perhatikan hal berikut:

  • Case-sensitive - Scala adalah case-sensitive, yang berarti logo Hello halo dan memiliki arti yang berbeda di Scala.

  • nama kelas - untuk semua nama kelas huruf pertama harus dikapitalisasi.

    Jika Anda perlu menggunakan beberapa kata untuk membentuk nama kelas, huruf pertama dari setiap kata dikapitalisasi.

    Contoh: class MyFirstScalaClass

  • nama metode - huruf pertama dari semua metode nama huruf kecil.

    Jika beberapa kata yang digunakan untuk membentuk nama metode, huruf pertama dari setiap kata harus dikapitalisasi.

    Contoh: def myMethodName ()

  • File name - nama file program harus sama persis dengan nama objek.

    Ketika Anda menyimpan file, itu harus menyimpan nama objek untuk menggunakan (ingat Scala adalah case-sensitive), dan menambahkan ".scala" ekstensi file. (Jika nama file dan objek nama tidak cocok, program ini tidak akan mengkompilasi).

    Contoh: Katakanlah "HelloWorld" adalah nama dari objek. Maka file tersebut harus disimpan sebagai 'HelloWorld.scala "

  • def main (args: Array [String ]) - Scala program dari metode main () dimulai pengolahan, yang merupakan bagian wajib dari setiap program entri Program Scala.


identifier

Scala dapat menggunakan dua bentuk pengenal, karakter digital dan simbol.

Penggunaan alfanumerik dimulai dengan huruf atau garis bawah dapat diikuti oleh huruf atau angka, simbol "$" di Scala juga dilihat sebagai huruf. Namun, menggunakan pengenal, aplikasi untuk "$" pada awal pengenal dicadangkan Scala compiler harus menghindari menggunakan "$" Mulai pengenal untuk menghindari konflik.

Scala dan Jawa konvensi penamaan menggunakan unta penamaan yang sama, huruf kecil karakter pertama, seperti toString. Karakter pertama nama kelas atau huruf besar. Selain itu harus dihindari untuk menggarisbawahi akhir pengenal untuk menghindari tabrakan. Simbol identifier terdiri dari satu atau lebih simbol-simbol, seperti +,:?, Dll, seperti:

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

Ini akan menggunakan pengenal melarikan diri ketika Scala internal yang pelaksanaannya, seperti: -> Gunakan $ usus $ minus $ besar untuk mewakili simbol. Jadi jika Anda perlu untuk mengakses kode Java: -> metode, Anda perlu menggunakan internal yang nama $ usus $ minus $ besar Scala.

Campuran identifier alfanumerik dari pengenal kemudian diikuti oleh satu atau lebih simbol-simbol, seperti unary_ Scala + nama + metode untuk waktu pelaksanaan internal. identifier literal untuk string "didefinisikan, untuk example` x`` yield`.

Anda dapat menggunakan Scala identifier yang valid di antara ", Scala akan ditafsirkan sebagai identifier Scala, penggunaan khas untuk Thread dari metode hasil, di Scala Anda tidak dapat menggunakan Thread.yield () adalah karena hasil dari Scala kata kunci, Anda harus menggunakan Thread.`yield` () untuk menggunakan metode ini.


kata kunci scala

Tabel berikut berisi daftar kata kunci scala milik, kita tidak dapat menggunakan kata kunci berikut sebagai variabel:

abstrak kasus menangkap kelas
def melakukan lain meluas
palsu terakhir akhirnya untuk
forSome jika implisit impor
malas pertandingan baru batal
obyek mengesampingkan paket pribadi
terlindung kembali tertutup super
ini melempar sifat mencoba
benar jenis val var
sementara dengan hasil
- : = =>
<- <: <% >:
# @

komentar scala

Scala mirip dengan banyak Java mendukung komentar single-line. Multi-line komentar dapat bersarang, tetapi harus diulang dengan benar, komentar yang diawali dengan simbol yang sesuai untuk mengakhiri simbol. CATATAN Scala compiler akan diabaikan, contoh adalah sebagai berikut:

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

baris kosong dan spasi

Hanya satu baris dengan spasi atau komentar, Scala akan berpikir itu adalah baris kosong, itu akan mengabaikannya. Marks dapat spasi atau komentar untuk membagi.


baris baru

Scala adalah bahasa line-berorientasi, pernyataan dengan titik koma (;) akhir atau line break. Program scala, titik koma pada akhir pernyataan biasanya opsional. Jika Anda bersedia untuk masuk satu, tetapi jika hanya ada satu baris dalam pernyataan atau tidak menulis. Di sisi lain, jika Anda menulis beberapa pernyataan berturut-turut sehingga titik koma diperlukan. Misalnya

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

paket scala

paket kustom

Scala didefinisikan menggunakan paket paket kunci, dalam kode scala untuk menentukan paket dalam dua cara:

Metode pertama, dan Jawa, seperti di header file mendefinisikan nama paket, metode ini mengikuti semua kode ditempatkan di surat kabar. Sebagai contoh:

package com.w3big
class HelloWorld

Metode kedua ini agak mirip dengan C #, seperti:

package com.w3big {
  class HelloWorld 
}

Metode kedua, Anda dapat menentukan beberapa paket dalam file.

kutipan

Scala menggunakan impor paket referensi kata kunci.

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

pernyataan impor dapat muncul di mana saja, tidak hanya di bagian atas file. Hasil impor dari memperluas ke akhir blok pernyataan. Hal ini dapat secara signifikan mengurangi kemungkinan konflik nama.

Jika Anda ingin memperkenalkan paket beberapa anggota, Anda dapat menggunakan pemilih (Picker):

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

Catatan: Secara default, Scala selalu memperkenalkan java.lang._, scala._ dan Predef._, Di sini Anda juga bisa menjelaskan mengapa kepala scala paket, bila menggunakan scala dihilangkan.