Atsisiųsti PDF
1) Paaiškinkite, kas yra „Scala“?
„Scala“ yra objektų funkcinė programavimo ir scenarijų kalba, skirta bendrosioms programinės įrangos programoms, skirtoms glaustai išreikšti sprendimus.
2) Kas yra „Scala“ rinkinys? Kokie metodai išreiškiami operacijų rinkiniais?
„Scala“ rinkinys yra poros to paties tipo elementų rinkinys. „Scala“ rinkinyje nėra jokių pasikartojančių elementų. Yra dviejų rūšių rinkiniai, kintantys ir nekintami.
3) Kas yra „Scala“ žemėlapis?
„Scala“ žemėlapis yra raktų ar vertybių porų rinkinys. Remiantis jo raktu, galima gauti bet kokią vertę. Vertybės nėra unikalios, tačiau raktai žemėlapyje yra unikalūs.
4) Koks yra „Scala“ pranašumas?
- Mažiau klaidų linkęs funkcinis stilius
- Didelis išlaikomumas ir produktyvumas
- Didelis mastelis
- Didelis bandomumas
- Pateikia vienu metu vykstančio programavimo ypatybes
5) Kokiais būdais „Scala“ yra geresnė už kitas programavimo kalbas?
- Masyvuose naudojami įprasti generiniai vaistai, tuo tarpu kitomis kalbomis, generikai yra priveržiami kaip papildomas sprendimas ir yra visiškai atskiri, tačiau jų elgesys sutampa su masyvais.
- „Scala“ turi nekintamą „val“ kaip pirmos klasės kalbos ypatybę. Skalos „val“ yra panašus į „Java“ galutinius kintamuosius. Turinys gali mutuoti, bet aukščiausia nuoroda yra nekintama.
- „Scala“ leidžia „jei blokuoja“, „pelningumo kilpas“ ir „kodą“ petnešomis, kad grąžintų vertę. Tai labiau pageidautina ir nereikalauja atskiro trijų komponentų operatoriaus.
- „Singleton“ turi pavienius objektus, o ne „C ++ / Java / C # classic static“. Tai švaresnis sprendimas
- Nuolatinės nekintamos kolekcijos yra numatytasis ir įmontuotos į standartinę biblioteką.
- Jame yra vietiniai rinkiniai ir glaustas kodas
- Jis neturi katilo plokštės kodo
6) Kokie yra „Scala“ kintamieji?
Vertybės ir kintamieji yra dvi „Scala“ formos. Vertės kintamasis yra pastovus ir jo negalima pakeisti priskyrus. Kita vertus, įprastas kintamasis yra nekintamas, o vertę galite pakeisti.
Du kintamųjų tipai yra
var myVar: Int = 0;
val myVal: Int = 1;
7) Paminėkite skirtumą tarp objekto ir klasės?
Klasė yra aprašymo apibrėžimas. Jis apibrėžia tipą pagal metodus ir kitų tipų sudėtį. Klasė yra objekto projektas. Nors objektas yra pavienis, unikalus klasės egzempliorius. Kiekvienam objektui kode sukuriama anoniminė klasė, kuri paveldima iš bet kokių klasių, kurias deklaravote įgyvendinti objektu.
8) Kas yra rekursinė uodega skaloje?
„Rekursija“ yra funkcija, kuri save vadina. Funkcija, kuri save vadina, pavyzdžiui, funkcija „A“, iškviečia funkciją „B“, kuri vadina funkciją „C“. Tai technika, dažnai naudojama funkciniame programavime. Norint, kad uodega būtų rekursinė, funkcijos grąžinimas turi būti paskutinė atliekama funkcija.
9) Kas yra „skalos bruožas“ skaloje?
„Bruožai“ naudojami apibrėžiant objektų tipus, nurodomus palaikomų metodų parašu. „Scala“ leidžia iš dalies įgyvendinti, tačiau bruožai gali neturėti konstruktoriaus parametrų. Bruožas susideda iš metodo ir lauko apibrėžimo, sumaišius juos į klases, jis gali būti pakartotinai naudojamas.
10) Kada galite naudoti bruožus?
Nėra konkrečios taisyklės, kada galite naudoti bruožus, tačiau yra gairės, kurias galite apsvarstyti.
- Jei elgesys nebus pakartotinai panaudotas, paverskite jį konkrečia klase. Bet kokiu atveju tai nėra daugkartinis elgesys.
- Norėdami paveldėti iš jo „Java“ kode, galima naudoti abstrakčią klasę.
- Jei efektyvumas yra prioritetas, tada pasitelkite klasę
- Padarykite tai savybe, jei ji gali būti pakartotinai naudojama keliose ir nesusijusiose klasėse. Skirtingose klasės hierarchijos dalyse tik bruožai gali būti maišomi į skirtingas dalis.
- Galite naudoti abstrakčią klasę, jei norite ją platinti sukompiliuota forma ir tikitės, kad išorinės grupės rašys iš jos paveldimas klases.
11) Kas yra bylų klasės?
Atvejų klasės suteikia rekursinį skaidymo mechanizmą, suderindami modelį, tai yra įprastos klasės, eksportuojančios jų konstruktoriaus parametrus. Su atvejo klasių konstruktoriaus parametrais galima tiesiogiai susipažinti ir jie traktuojami kaip viešosios vertės.
12) Koks naudojimasis skaloje?
„Scala“ rinkiniai sujungia fiksuotą daiktų skaičių, kad juos būtų galima perduoti kaip visus. Dvivietis yra nekintamas ir gali talpinti skirtingų tipų objektus, skirtingai nei masyvas ar sąrašas.
13) Kas yra funkcijos karijavimas „Scala“?
„Currying“ yra funkcija, paverčianti kelis argumentus į funkciją, kuri užima vieną argumentą. „Scala“ palaiko daugybę tų pačių technikų kaip kalba, pvz., „Haskell“ ir „LISP“. Funkcijų karijavimas yra vienas iš mažiausiai naudojamų ir neteisingai suprastų.
14) Kokie yra netiesioginiai „Scala“ parametrai?
Numanomas parametras yra būdas, leidžiantis „rasti“ metodo parametrus. Jis yra panašus į numatytuosius parametrus, tačiau turi skirtingą „numatytosios“ vertės nustatymo mechanizmą. Numanomas parametras yra metodo ar konstruktoriaus parametras, pažymėtas kaip numanomas. Tai reiškia, kad jei parametro vertė neminima, kompiliatorius ieškos „implicitinės“ vertės, apibrėžtos sferoje.
15) Kas yra „Scala“ uždarymas?
Uždarymas yra funkcija, kurios grąžinimo vertė priklauso nuo kintamųjų, deklaruotų už funkcijos ribų, vertės.
16) Kas yra Monadas „Scaloje“?
Monada yra objektas, apgaubiantis kitą daiktą. Jūs perduodate „Monad“ mini programas, ty funkcijas, kad galėtumėte manipuliuoti pagrindinio objekto duomenimis, užuot tiesiogiai manipuliavę objektu. Monadas pasirenka, kaip pritaikyti programą pagrindiniam objektui.
17) Kas yra „Scala“ anoniminė funkcija?
Šaltinio kode anoniminės funkcijos vadinamos „funkcijų literalais“, o vykdymo metu funkcijų literalai yra supaprastinami į objektus, vadinamus funkcijų reikšmėmis. „Scala“ suteikia palyginti lengvą anoniminių funkcijų apibrėžimo sintaksę.
18) Paaiškinkite „Scala aukštesnės eilės“ funkcijas?
„Scala“ leidžia apibrėžti aukštesnės eilės funkcijas. Tai yra funkcijos, kurios kitas funkcijas laiko parametrais arba kurių rezultatas yra funkcija. Šiame pavyzdyje funkcija „taikyti“ () ima kitą funkciją „f“ ir reikšmę „v“ ir taiko funkciją v.
Pavyzdys:
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() + "]"Sudarius ir įvykdžius aukščiau nurodytą kodą, gaunamas toks rezultatas.
C:/>scalac Test.scalaC:/>scala Test[10]C:/>
19) Kuo skiriasi kintamasis ir reikšmė?
Scaloje galite apibrėžti kintamąjį naudodami raktinius žodžius a, val arba var. Skirtumas tarp val ir var yra var, panašus į Java deklaraciją, tačiau val mažai skiriasi. Negalime pakeisti nuorodos į kitą nuorodą, kai kintamasis bus paskelbtas naudojant val. Kintamasis, apibrėžtas naudojant „var“ raktinius žodžius, yra keičiamas ir gali būti keičiamas bet kiek kartų.
20) Kas yra skala?
„Option“ yra „Scala“ bendrinis tipas, kuris gali būti „tam tikra“ bendroji vertė arba jos nėra. „Eilė“ dažnai naudoja ją primityviems vaizdams, kurie gali būti niekiniai.
21) Kaip pridėti sąrašą?
Jei norite pridėti prie sąrašo, naudokite „
:+” 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) Kaip galite suformatuoti eilutę?
Norėdami suformatuoti eilutę, naudokite .format () metodą, kurį galite naudoti skaloje
Val suformatuotas = „% s% i“ .formatas (mystring.myInt)
23) Kodėl „scala“ teikia pirmenybę nekintamumui?
„Scala“ teikia pirmenybę dizaino nekintamumui ir daugeliu atvejų jį naudoja kaip numatytąjį. Nekintamumas gali padėti sprendžiant lygybės klausimus ar tuo pačiu metu vykstančias programas.
24) Kokie yra keturi skalos identifikatorių tipai?
Keturi identifikatorių tipai yra
- Raidiniai skaitmeniniai identifikatoriai
- Operatoriaus identifikatoriai
- Mišri identifikatoriai
- Pažodiniai identifikatoriai
25) Kokie yra skirtingi „Scala“ literatų tipai?
Skirtingi pažaidžių tipai skaloje yra
- Skaitytojai sveikieji
- Slankiojo kablelio pažodžiai
- Būlo pažodžiai
- Simbolių pažodžiai
- Simbolių literalai
- Styginiai literalai
- Kelių eilučių stygos