Download PDF
1) Forklar hvad der er Scala?
Scala er et objektfunktionelt programmerings- og scriptingsprog til generelle softwareapplikationer designet til at udtrykke løsninger på en kortfattet måde.
2) Hvad er et 'Scala-sæt'? Hvad er metoder, hvormed operationssæt udtrykkes?
Scala-sæt er en samling af parvise elementer af samme type. Scala-sæt indeholder ikke duplikatelementer. Der er to slags sæt, mutable og immutable.
3) Hvad er et 'Scala-kort'?
Scala-kort er en samling af nøgle- eller værdipar. Baseret på dens nøgle kan enhver værdi hentes. Værdier er ikke unikke, men nøgler er unikke på kortet.
4) Hvad er fordelen ved Scala?
- Mindre fejlberørt funktionel stil
- Høj vedligeholdelsesevne og produktivitet
- Høj skalerbarhed
- Høj testbarhed
- Tilbyder funktioner i samtidig programmering
5) På hvilke måder er Scala bedre end andet programmeringssprog?
- Arrays bruger almindelige generika, mens generics på andre sprog er boltet som en eftertanke og er helt adskilte, men har overlappende adfærd med arrays.
- Scala har uforanderlig "val" som en førsteklasses sprogfunktion. "Val" af scala svarer til Java-endelige variabler. Indholdet kan muteres, men den øverste reference er uforanderlig.
- Scala lader 'if blocks', 'for-yield loops' og 'code' i seler for at returnere en værdi. Det foretrækkes mere og eliminerer behovet for en separat ternær operatør.
- Singleton har singleton-objekter i stedet for C ++ / Java / C # klassisk statisk. Det er en renere løsning
- Vedvarende uforanderlige samlinger er standard og indbygget i standardbiblioteket.
- Det har indfødte tupler og en kortfattet kode
- Den har ingen kedelpladekode
6) Hvad er Scala-variablerne?
Værdier og variabler er to former, der kommer i Scala. En værdivariabel er konstant og kan ikke ændres, når den først er tildelt. Det er uforanderligt, mens en almindelig variabel på den anden side kan ændres, og du kan ændre værdien.
De to typer variabler er
var myVar: Int = 0;
val myVal: Int = 1;
7) Nævn forskellen mellem et objekt og en klasse?
En klasse er en definition af en beskrivelse. Den definerer en type med hensyn til metoder og sammensætning af andre typer. En klasse er en plan for objektet. Mens et objekt er en singleton, en forekomst af en klasse, der er unik. Der oprettes en anonym klasse for hvert objekt i koden, den arver fra de klasser, du har erklæret objekt til at implementere.
8) Hvad er rekursionshale i scala?
'Rekursion' er en funktion, der kalder sig selv. En funktion, der f.eks. Kalder sig selv en funktion 'A' kalder funktion 'B', der kalder funktionen 'C'. Det er en teknik, der ofte bruges i funktionel programmering. For at en hale skal rekursiv, skal opkaldet tilbage til funktionen være den sidste funktion, der skal udføres.
9) Hvad er 'scala træk' i scala?
'Egenskaber' bruges til at definere objekttyper, der er specificeret ved signaturen til de understøttede metoder. Scala tillader at blive delvist implementeret, men træk har muligvis ikke konstruktorparametre. Et træk består af metode og feltdefinition, ved at blande dem i klasser kan det genbruges.
10) Hvornår kan du bruge træk?
Der er ingen specifik regel, når du kan bruge træk, men der er en retningslinje, som du kan overveje.
- Hvis adfærden ikke genbruges, så gør det til en konkret klasse. Under alle omstændigheder er det ikke en genanvendelig adfærd.
- For at arve fra den i Java-kode kan en abstrakt klasse bruges.
- Hvis effektivitet er en prioritet, så læn dig mod at bruge en klasse
- Gør det til et træk, hvis det muligvis genbruges i flere og ikke-relaterede klasser. I forskellige dele af klassehierarkiet kan kun træk blandes i forskellige dele.
- Du kan bruge abstrakt klasse, hvis du vil distribuere den i kompileret form og forventer, at eksterne grupper skriver klasser, der arver fra den.
11) Hvad er sagklasser?
Sagsklasser giver en rekursiv nedbrydningsmekanisme via mønstertilpasning, det er en almindelig klasse, der eksporterer deres konstruktorparameter. Konstruktorparametrene i sagsklasser kan fås direkte og behandles som offentlige værdier.
12) Hvad er brugen af tupler i scala?
Scala tuples kombinerer et fast antal ting sammen, så de kan sendes rundt som helhed. En tuple er uforanderlig og kan indeholde objekter med forskellige typer, i modsætning til en matrix eller liste.
13) Hvad er funktionscurry i Scala?
Currying er teknikken til at transformere en funktion, der tager flere argumenter til en funktion, der tager et enkelt argument. Mange af de samme teknikker som sprog som Haskell og LISP understøttes af Scala. Funktions currying er en af de mindst anvendte og misforståede.
14) Hvad er implicitte parametre i Scala?
Implicit parameter er den måde, hvorpå parametre for en metode kan "findes". Det svarer til standardparametre, men det har en anden mekanisme til at finde "standard" -værdien. Den implicitte parameter er en parameter til metode eller konstruktør, der er markeret som implicit. Dette betyder, at hvis en parameterværdi ikke er nævnt, vil compileren søge efter en "implicit" værdi defineret inden for et omfang.
15) Hvad er en lukning i Scala?
En lukning er en funktion, hvis returværdi afhænger af værdien af de variabler, der er deklareret uden for funktionen.
16) Hvad er Monad i Scala?
En monade er et objekt, der ombryder et andet objekt. Du sender Monad-miniprogrammerne, dvs. funktioner, til at udføre datamanipulation af det underliggende objekt i stedet for at manipulere objektet direkte. Monad vælger, hvordan programmet skal anvendes på det underliggende objekt.
17) Hvad er Scala anonym funktion?
I en kildekode kaldes anonyme funktioner 'funktionsbogstaver', og i løbetid køres funktionsbogstaver til objekter kaldet funktionsværdier. Scala giver en relativt let syntaks til definition af anonyme funktioner.
18) Forklar 'Scala højere orden' funktioner?
Scala tillader definition af højere ordrefunktioner. Dette er funktioner, der tager andre funktioner som parametre, eller hvis resultat er en funktion. I det følgende eksempel tager funktionen () funktion en anden funktion 'f' og en værdi 'v' og anvender funktionen til v.
Eksempel:
object Test {def main(args: Array[String]) {println( apply( layout, 10) )}def apply(f: Int => String, v: Int) = f(v)def layout[A](x: A) = "[" + x.toString() + "]"Når ovenstående kode er kompileret og udført, producerer den følgende resultat.
C:/>scalac Test.scalaC:/>scala Test[10]C:/>
19) Hvad er forskellen mellem var og værdi?
I scala kan du definere en variabel ved hjælp af enten a, val eller var nøgleord. Forskellen mellem val og var er, var ligner java-erklæring, men val er lidt anderledes. Vi kan ikke ændre henvisningen til at pege på en anden reference, når variablen er deklareret ved hjælp af val. Den variabel, der er defineret ved hjælp af var-nøgleord, kan ændres og kan ændres et vilkårligt antal gange.
20) Hvad er mulighed, nogle og ingen i scala?
'Option' er en Scala-generisk type, der enten kan være 'en eller anden' generisk værdi eller ingen. 'Kø' bruger det ofte til at repræsentere primitive, der kan være nul.
21) Hvordan føjer jeg til listen?
I scala for at føje til en liste skal du bruge “
:+” single value
var myList = List.empty[String]myList :+= "a"myList :+= "b"myList :+= "c"use++ for appending a listvar myList = List.empty[String]myList ++= List("a", "b", "c")
22) Hvordan kan du formatere en streng?
For at formatere en streng skal du bruge .format () -metoden, i scala kan du bruge
Val formatted = “% s% i” .format (mystring.myInt)
23) Hvorfor foretrækker scala uforanderlighed?
Scala foretrækker uforanderlighed i design og bruger det i mange tilfælde som standard. Uforanderlighed kan hjælpe, når man behandler ligestillingsspørgsmål eller samtidige programmer.
24) Hvad er de fire typer scala-identifikatorer?
De fire typer identifikatorer er
- Alfanumeriske identifikatorer
- Operatøridentifikatorer
- Blandede identifikatorer
- Bogstavelige identifikatorer
25) Hvad er de forskellige typer Scala-bogstaver?
De forskellige typer bogstaver i scala er
- Heltal bogstaver
- Flydende bogstavs
- Boolske bogstaver
- Symbolbogstaver
- Tegnbogstaver
- String-bogstaver
- Multi-Line strenge