Latest web development tutorials

Scala podstawowe zasady gramatyki

Jeśli jesteś programistą Java przed, i nauczyć się podstaw języka Java, dzięki czemu można szybko poznać podstawy gramatyki Scala.

Scala i Java największą różnicą jest: Scala średnik na końcu instrukcji, nie jest obowiązkowe.

Możemy myśleć o programie Scala to zbiór obiektów przy każdym wywołaniu metody wdrożenia wiadomości. Dalej dochodzimy do zrozumienia, klasę, pojęcie obiektów, metod, zmiennych instancji:

  • Obiektów - obiekty mają właściwości i zachowań.Na przykład: pies podobny cech: koloru, nazwy, zachowanie: zadzwoń, biegać, jeść i tak dalej. Obiekt jest instancją klasy.

  • Class - klasa jest abstrakcyjna obiektu, a obiekt jest specyficzną instancją klasy.

  • Method - metoda opisana w akcie podstawowym, klasa może zawierać wiele metod.

  • Fields - Każdy obiekt posiada swój własny unikalny zestaw zmiennych instancji, a mianowicie pola.Właściwości obiektu poprzez przypisanie pola mają być utworzone.


Pierwszy program Scala

interaktywny Programowanie

Interaktywny programowania nie trzeba utworzyć plik skryptu, można wywołać następujące polecenie:

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

Formularz script

Możemy również utworzyć plik HelloWorld.scala na wykonanie kodu, kod HelloWorld.scala w następujący sposób:

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

Następnie użyj polecenia scalac go skompilować:

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

Po kompilacji, możemy zobaczyć katalogi utworzone na podstawie pliku HelloWorld.class, które można uruchomić na Java Virtual Machine (JVM) w dniu.

Po kompilacji, możemy użyć następującego polecenia, aby uruchomić program:

$ scala HelloWorld
Hello, world!
przykłady Online >>

Podstawowa składnia

Podstawowa składnia Scala, należy zwrócić uwagę na następujące elementy:

  • Wielkość liter - Scala jest wielkość liter, co oznacza logo Hello Hello i mają różne znaczenie w Scala.

  • Nazwa klasy - dla wszystkich nazwie klasy pierwsza litera powinny być kapitalizowane.

    Jeśli trzeba użyć kilku słów stanowić nazwę klasy, pierwsza litera każdego wyrazu wielką literą.

    Przykład: Klasa MyFirstScalaClass

  • Nazwa metody - pierwsza litera nazwiska wszystkich metod małe.

    Jeżeli kilka słów są wykorzystywane do zgromadzenia nazwę metody, pierwsza litera każdego słowa powinny być kapitalizowane.

    Przykład: def myMethodName ()

  • Nazwa pliku - nazwa pliku programu należy dokładnie dopasować nazwę obiektu.

    Po zapisaniu pliku, należy zapisać nazwę obiektu do użytkowania (pamiętaj Scala jest wielkość liter) oraz dołączyć ".scala" rozszerzenie pliku. (Jeśli nazwa pliku oraz obiektów nazwy nie zgadzają się, że program nie będzie kompilować).

    Przykład: Załóżmy, że "HelloWorld" jest nazwą obiektu. Następnie plik powinien być zapisany jako "HelloWorld.scala"

  • def main (args: Array [String ]) - Scala Program od metody main () rozpoczyna się przetwarzanie, które jest obowiązkowym elementem każdego wpisu Program programu Scala.


identyfikatory

Scala mogą korzystać z dwóch form identyfikatorów cyfrowych znaków i symboli.

Alfanumeryczny wykorzystanie zaczynać się od litery lub znaku podkreślenia można po nim litery lub liczby, symbol "$" w Scala jest również postrzegane jako litery. Jednakże, używając identyfikatora, aplikacja do "$" na początku identyfikatora jest zarezerwowana kompilator Scala powinny unikać przy użyciu "$" start identyfikator, aby uniknąć konfliktu.

Scala i Java nazewnictwo stosując podobną wielbłąda nazewnictwa, pierwszy znak małe litery, takie jak toString. Pierwszy znak nazwy klas lub wielkimi literami. Ponadto powinno się unikać w celu podkreślenia koniec identyfikatora, aby uniknąć kolizji. Identyfikator symbol zawiera jeden lub więcej symboli takich jak +:?, itd, na przykład:

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

Wykorzysta on uciekł identyfikator kiedy Scala wewnętrznej realizacji, takich jak: -> Użyj $ colon $ minus $ większa reprezentować symbol. Więc jeśli chcesz mieć dostęp do kodu Java: -> metody, trzeba użyć Scala wewnętrzną nazwę $ colon $ minus $ większa.

Mieszane ciąg znaków alfanumerycznych z identyfikatorem następnie poddaje się jednemu lub więcej symboli takich jak unary_ Scala + nazwa + sposobu wewnętrznego czasowe. Dosłowne identyfikator string "jest zdefiniowany dla example` x`` yield`.

Można użyć dowolnego poprawnego identyfikatora Scala pomiędzy ", Scala będą interpretowane jako identyfikator Scala, typowego użytkowania wątku metody plastyczności, w Scala nie można wykorzystać Thread.yield () jest fakt, że wydajność Scala słowa kluczowe, należy użyć Thread.`yield` (), aby korzystać z tej metody.


Scala słowa kluczowe

Poniższa tabela zawiera Scala zarezerwowane słów kluczowych, nie możemy używać następujące słowa jako zmienne:

streszczenie sprawa haczyk klasa
def zrobić więcej rozszerza
fałszywy finał wreszcie dla
forsome jeśli domniemany import
leniwy mecz nowy NULL
przedmiot przesłanianie pakiet prywatny
chroniony powrót zapieczętowany wspaniały
to rzucać cecha próbować
prawdziwy typ val var
podczas z wydajność
- : = =>
<- <: <% >:
# @

komentarz Scala

Scala jest podobna do wielu Java obsługuje komentarze pojedynczego wiersza. Komentarze wieloliniowe mogą być zagnieżdżone, ale musi być prawidłowo zagnieżdżone, komentarz, który zaczyna się od symbolu odpowiadającego końca symbol. UWAGA Scala kompilator będą ignorowane, przykłady przedstawiają się następująco:

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

Puste linie i przestrzenie

Tylko jeden wiersz ze spacją lub uwag, Scala będzie sądzić, że jest pusta linia, będzie go zignorować. Znaki mogą być przestrzenie lub komentarze do Splitu.


nowalinia

Scala jest językiem zorientowanym liniowo, oświadczenie średnikiem (;) Koniec linii lub przerwy. Program Scala, średnik na końcu instrukcji jest zazwyczaj opcjonalne. Jeśli są chętni, aby wprowadzić jeden, ale jeśli jest tylko jedna linia w rachunku, czy nie napisać. Z drugiej strony, jeśli napiszesz kilka sprawozdań z rzędu, więc potrzebna jest średnik. Na przykład

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

pakiet Scala

Niestandardowe pakiety

Scala określono za pomocą pakietu do opakowania słów kluczowych, w celu określenia kodu Scala pakiet na dwa sposoby:

Pierwsza metoda, i Java, tak jak w nagłówku pliku określa nazwę pakietu, ta metoda śledzić wszystkie kody są umieszczone w gazecie. Na przykład:

package com.w3big
class HelloWorld

Druga metoda jest w pewnym stopniu podobna do C #, takich jak:

package com.w3big {
  class HelloWorld 
}

Druga metoda, można zdefiniować wiele pakietów w pliku.

cytować

Scala za pomocą słowa kluczowego import pakiet odniesienia.

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

instrukcje importu mogą pojawić się w dowolnym miejscu, nie tylko na początku pliku. Wyniki importowe z rozciągającą się na końcu bloku oświadczenie. To może znacząco zmniejszyć prawdopodobieństwo konfliktów nazw.

Jeśli chcesz wprowadzić pakiet kilku członków, można użyć przełącznika (Picker):

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

Uwaga: Domyślnie, Scala zawsze wprowadzonej java.lang._, scala._ i Predef._, tutaj można również wyjaśnić, dlaczego szef scala pakietu, przy użyciu Scala są pomijane.