Last ned PDF
1) Forklar hva som er Scala?
Scala er et objektfunksjonelt programmerings- og skriptspråk for generelle programvareapplikasjoner designet for å uttrykke løsninger på en konsis måte.
2) Hva er et 'Scala-sett'? Hva er metoder som operasjonssett uttrykkes gjennom?
Scala sett er en samling av parvise elementer av samme type. Scala-sett inneholder ikke dupliserte elementer. Det er to typer sett, foranderlige og uforanderlige.
3) Hva er et 'Scala-kart'?
Scala-kart er en samling nøkkel- eller verdipar. Basert på nøkkelen kan en hvilken som helst verdi hentes. Verdiene er ikke unike, men nøklene er unike i kartet.
4) Hva er fordelen med Scala?
- Mindre feil utsatt funksjonell stil
- Høy vedlikeholdsevne og produktivitet
- Høy skalerbarhet
- Høy testbarhet
- Tilbyr funksjoner i samtidig programmering
5) På hvilke måter er Scala bedre enn annet programmeringsspråk?
- Arrays bruker vanlig generikk, mens på andre språk er generiske boltet på som en ettertanke og er helt separate, men har overlappende oppførsel med arrays.
- Scala har uforanderlig "val" som en førsteklasses språkfunksjon. "Val" av scala er lik Java-endelige variabler. Innholdet kan mutere, men toppreferanse er uforanderlig.
- Scala lar 'if blocks', 'for-yield loops' og 'code' i seler for å returnere en verdi. Det er mer å foretrekke, 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 innebygd i standardbiblioteket.
- Den har innfødte tupler og en kortfattet kode
- Den har ingen kjeleplatekode
6) Hva er Scala-variablene?
Verdier og variabler er to former som kommer i Scala. En verdivariabel er konstant og kan ikke endres når den er tildelt. Det er uforanderlig, mens en vanlig variabel derimot er foranderlig, og du kan endre verdien.
De to typene variabler er
var myVar: Int = 0;
val myVal: Int = 1;
7) Nevn forskjellen mellom et objekt og en klasse?
En klasse er en definisjon for en beskrivelse. Den definerer en type når det gjelder metoder og sammensetning av andre typer. En klasse er en blåkopi av objektet. Mens et objekt er en singleton, en forekomst av en klasse som er unik. Det opprettes en anonym klasse for hvert objekt i koden, den arver fra de klassene du erklærte objektet som skal implementeres.
8) Hva er rekursjonshale i scala?
'Rekursjon' er en funksjon som kaller seg selv. En funksjon som kaller seg selv, for eksempel en funksjon 'A' kaller funksjon 'B', som kaller funksjonen 'C'. Det er en teknikk som brukes ofte i funksjonell programmering. For at en hale skal rekursiv, må samtalen tilbake til funksjonen være den siste funksjonen som skal utføres.
9) Hva er 'scala-trekk' i scala?
'Egenskaper' brukes til å definere objekttyper spesifisert av signaturen til de støttede metodene. Scala tillater delvis implementering, men egenskaper har kanskje ikke konstruktorparametere. Et trekk består av metode og feltdefinisjon, ved å blande dem i klasser kan det brukes på nytt.
10) Når kan du bruke egenskaper?
Det er ingen spesifikk regel når du kan bruke egenskaper, men det er en retningslinje som du kan vurdere.
- Hvis oppførselen ikke vil bli gjenbrukt, så gjør den til en konkret klasse. Uansett er det ikke en gjenbrukbar oppførsel.
- For å arve fra den i Java-kode, kan en abstrakt klasse brukes.
- Hvis effektivitet er en prioritet, så lene deg mot å bruke en klasse
- Gjør det til et trekk hvis det kan brukes på nytt i flere og ikke-relaterte klasser. I forskjellige deler av klassehierarkiet kan bare trekk blandes i forskjellige deler.
- Du kan bruke abstrakt klasse hvis du vil distribuere den i kompilert form og forventer at utenforstående grupper skriver klasser som arves fra den.
11) Hva er saksklasser?
Saksklasser gir en rekursiv dekomponeringsmekanisme via mønstermatching, det er en vanlig klasse som eksporterer konstruktorparameteren deres. Konstruktorparametrene til saksklasser kan nås direkte og behandles som offentlige verdier.
12) Hva er bruken av tupler i scala?
Scala tuples kombinerer et fast antall ting sammen slik at de kan sendes rundt som helhet. En tuple er uforanderlig og kan inneholde objekter med forskjellige typer, i motsetning til en matrise eller liste.
13) Hva er funksjonskarriering i Scala?
Currying er teknikken for å transformere en funksjon som tar flere argumenter til en funksjon som tar et enkelt argument. Mange av de samme teknikkene som språk som Haskell og LISP støttes av Scala. Funksjonskarriering er en av de minst brukte og misforståtte.
14) Hva er implisitte parametere i Scala?
Implisitt parameter er måten som gjør det mulig å finne parametere for en metode. Det ligner på standardparametere, men det har en annen mekanisme for å finne "standard" -verdien. Den implisitte parameteren er en parameter til metoden eller konstruktøren som er merket som implisitt. Dette betyr at hvis en parameterverdi ikke er nevnt, vil kompilatoren søke etter en "implisitt" verdi definert i et omfang.
15) Hva er en nedleggelse i Scala?
En lukking er en funksjon hvis returverdi avhenger av verdien av variablene som er erklært utenfor funksjonen.
16) Hva er Monad in Scala?
En monade er et objekt som bryter inn et annet objekt. Du passerer Monad-miniprogrammene, dvs. funksjoner, for å utføre datamanipuleringen av det underliggende objektet, i stedet for å manipulere objektet direkte. Monad velger hvordan du skal bruke programmet på det underliggende objektet.
17) Hva er Scala anonym funksjon?
I en kildekode kalles anonyme funksjoner 'funksjonslitteraler', og i løpet av tiden blir funksjonslitteraler instantiert til objekter som kalles funksjonsverdier. Scala gir en relativt enkel syntaks for å definere anonyme funksjoner.
18) Forklar funksjonene til Scala høyere orden?
Scala tillater definisjon av funksjoner med høyere ordre. Dette er funksjoner som tar andre funksjoner som parametere, eller hvis resultat er en funksjon. I det følgende eksemplet tar funksjonen () funksjonen en annen funksjon 'f' og en verdi 'v' og bruker funksjonen 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 koden ovenfor kompileres og kjøres, gir den følgende resultat.
C:/>scalac Test.scalaC:/>scala Test[10]C:/>
19) Hva er forskjellen mellom var og verdi?
I scala kan du definere en variabel ved å bruke enten a, val eller var søkeord. Forskjellen mellom val og var er, var er omtrent som java-deklarasjon, men val er litt annerledes. Vi kan ikke endre referansen til å peke til en annen referanse når variabelen er deklarert ved hjelp av val. Variabelen som er definert ved hjelp av var-nøkkelord, kan endres og kan endres et hvilket som helst antall ganger.
20) Hva er alternativet, noen og ingen i scala?
'Alternativ' er en Scala generisk type som enten kan være 'noen' generisk verdi eller ingen. 'Kø' bruker den ofte til å representere primitiver som kan være null.
21) Hvordan legger jeg til listen?
I scala for å legge til en liste, bruk “
:+” 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 å formatere en streng, bruk .format () -metoden, i scala du kan bruke
Val formatted = “% s% i” .format (mystring.myInt)
23) Hvorfor foretrekker scala uforanderlighet?
Scala foretrekker uforanderlighet i design og bruker det i mange tilfeller som standard. Uforanderlighet kan hjelpe når du arbeider med likestillingsspørsmål eller samtidige programmer.
24) Hva er de fire typene av scala-identifikatorer?
De fire typene identifikatorer er
- Alfanumeriske identifikatorer
- Operatøridentifikatorer
- Blandede identifikatorer
- Bokstavlige identifikatorer
25) Hva er de forskjellige typene Scala-bokstaver?
De forskjellige typene bokstaver i scala er
- Heltall bokstaver
- Flytende bokstavsbokstaver
- Boolske bokstaver
- Symbol bokstavelig
- Karakterbokstaver
- String bokstavelig
- Multi-Line strenger