Lataa PDF
1) Selitä, mikä on Scala?
Scala on kohteiden toiminnallinen ohjelmointi- ja komentosarjakieli yleisille ohjelmistosovelluksille, jotka on suunniteltu ilmaisemaan ratkaisuja ytimekkäästi.
2) Mikä on 'Scala-sarja'? Mitä menetelmiä operaatiojoukot ilmaistaan?
Scala set on kokoelma samantyyppisiä pareittain muodostettavia elementtejä. Scala-sarja ei sisällä päällekkäisiä elementtejä. Sarjoja on kahdenlaisia, muuttuvia ja muuttumattomia.
3) Mikä on 'Scala-kartta'?
Scala-kartta on kokoelma avain- tai arvopareja. Avaimen perusteella mikä tahansa arvo voidaan noutaa. Arvot eivät ole ainutlaatuisia, mutta avaimet ovat ainutlaatuisia kartalla.
4) Mikä on Scalan etu?
- Vähemmän virhealtista toiminnallista tyyliä
- Hyvä huollettavuus ja tuottavuus
- Hyvä skaalautuvuus
- Hyvä testattavuus
- Tarjoaa samanaikaisen ohjelmoinnin ominaisuuksia
5) Millä tavoin Scala on parempi kuin muu ohjelmointikieli?
- Matriisit käyttävät tavallisia geneerisiä aineita, kun taas toisella kielellä geneeriset aineet kiinnitetään jälkikäteen ja ne ovat täysin erillisiä, mutta niillä on päällekkäisiä käytäntöjä matriisien kanssa.
- Scalalla on muuttumaton “val” ensimmäisen luokan kieliominaisuutena. Scalan “val” on samanlainen kuin Java-lopulliset muuttujat. Sisältö voi muuttua, mutta huippuviite on muuttumaton.
- Scala antaa aaltosulkeissa 'jos lohkot', 'tuottosilmukoita' ja 'koodin' arvon palauttamiseksi. Se on edullisempi ja eliminoi erillisen kolmikantaisen operaattorin tarpeen.
- Singletonilla on yksittäisiä esineitä C ++ / Java / C # klassisen staattisen sijasta. Se on puhtaampi ratkaisu
- Pysyvät muuttumattomat kokoelmat ovat oletusarvoisia ja ne on rakennettu vakiokirjastoon.
- Siinä on natiivipaketit ja tiivis koodi
- Sillä ei ole kattilalevykoodia
6) Mitkä ovat Scala-muuttujat?
Arvot ja muuttujat ovat Scalassa kaksi muotoa. Arvomuuttuja on vakio, eikä sitä voida muuttaa, kun se on määritetty. Se on muuttumaton, kun taas tavallinen muuttuja on toisaalta muutettavissa, ja voit muuttaa arvoa.
Kaksi muuttujatyyppiä ovat
var myVar: Int = 0;
val myVal: Int = 1;
7) Mainitseko kohteen ja luokan ero?
Luokka on määritelmä kuvaukselle. Se määrittelee tyypin menetelmien ja muiden tyyppien koostumuksen perusteella. Luokka on objektin piirustus. Vaikka objekti on yksittäinen, ainutkertainen luokan esiintymä. Anonyymi luokka luodaan jokaiselle koodin objektille, se perii mistä tahansa luokasta, jonka olet ilmoittanut objektin toteuttavan.
8) Mikä on rekursiohäntä scalassa?
'Rekursio' on toiminto, joka kutsuu itseään. Funktio, joka kutsuu itseään, esimerkiksi funktio A, kutsuu toimintoa B, joka kutsuu toimintoa C. Se on tekniikka, jota käytetään usein toiminnallisessa ohjelmoinnissa. Jotta häntä olisi rekursiivinen, toiminnon kutsun on oltava viimeinen suoritettava toiminto.
9) Mikä on scala-ominaisuus scalassa?
'Piirteitä' käytetään määrittämään tuettujen menetelmien allekirjoituksella määritetyt kohdetyypit. Scala mahdollistaa osittaisen toteutuksen, mutta piirteillä ei välttämättä ole rakentajaparametreja. Ominaisuus koostuu menetelmästä ja kentän määrittelystä, sekoittamalla ne luokkiin, sitä voidaan käyttää uudelleen.
10) Milloin voit käyttää ominaisuuksia?
Ominaisuuksien käyttämiselle ei ole erityistä sääntöä, mutta on olemassa ohje, jota voit harkita.
- Jos käyttäytymistä ei käytetä uudelleen, tee siitä konkreettinen luokka. Joka tapauksessa se ei ole uudelleenkäytettävä käytös.
- Perimään siitä Java-koodissa voidaan käyttää abstraktia luokkaa.
- Jos tehokkuus on etusijalla, nojaa kohti luokan käyttöä
- Tee siitä ominaisuus, jos sitä voidaan käyttää uudelleen useissa ja etuyhteydettömissä luokissa. Luokkahierarkian eri osissa vain piirteet voidaan sekoittaa eri osiin.
- Voit käyttää abstraktia luokkaa, jos haluat jakaa sen kootussa muodossa ja odottaa ulkopuolisten ryhmien kirjoittavan siitä periytyviä luokkia.
11) Mikä on tapausluokat?
Tapausluokat tarjoavat rekursiivisen hajoamismekanismin kuvion sovittamisen kautta, se on säännöllinen luokka, joka vie konstruktoriparametrinsa. Tapausluokkien konstruktoriparametreihin pääsee suoraan ja niitä käsitellään julkisina arvoina.
12) Mikä on tuplien käyttö scalassa?
Scala-tuplissa yhdistetään kiinteä määrä esineitä, jotta ne voidaan siirtää kokonaisuutena. Tuppi on muuttumaton ja siihen mahtuu erityyppisiä objekteja, toisin kuin taulukossa tai luettelossa.
13) Mitä toimintojen curry on Scalassa?
Curry on tekniikka muuntaa funktio, joka vie useita argumentteja funktioksi, joka vie yhden argumentin. Scala tukee monia samoja tekniikoita kuin kieli, kuten Haskell ja LISP. Funktion curry on yksi vähiten käytetyistä ja väärinymmärretyistä.
14) Mitkä ovat implisiittisiä parametreja Scalassa?
Implisiittinen parametri on tapa, jolla menetelmän parametrit voidaan "löytää". Se on samanlainen kuin oletusparametrit, mutta sillä on erilainen mekanismi oletusarvon löytämiseksi. Implisiittinen parametri on parametri menetelmälle tai konstruktorille, joka on merkitty implisiittiseksi. Tämä tarkoittaa, että jos parametriarvoa ei mainita, kääntäjä etsii "implisiittistä" arvoa, joka on määritelty laajuudessa.
15) Mikä on sulkeminen Scalassa?
Sulkeminen on funktio, jonka paluuarvo riippuu funktion ulkopuolella ilmoitettujen muuttujien arvosta.
16) Mikä on Monad Scalassa?
Monadi on esine, joka kietoo toisen objektin. Ohitat Monad-mini- ohjelmat, eli toiminnot, suorittamaan taustalla olevan objektin datan käsittely sen sijaan, että manipuloit objektia suoraan. Monad valitsee, miten ohjelmaa käytetään taustalla olevaan objektiin.
17) Mikä on Scalan tuntematon toiminto?
Lähdekoodissa nimettömiä funktioita kutsutaan funktiolitraaleiksi ja ajon aikana funktiolitraalit instantisoidaan kohteiksi, joita kutsutaan funktioarvoiksi. Scala tarjoaa suhteellisen helpon syntaksin nimettömien toimintojen määrittelemiseksi.
18) Selitätkö 'Scala korkeamman asteen' toiminnot?
Scala sallii korkeamman asteen funktioiden määrittelyn. Nämä ovat toimintoja, jotka ottavat muita toimintoja parametreina tai joiden tulos on funktio. Seuraavassa esimerkissä Apply () -funktio ottaa toisen funktion 'f' ja arvon 'v' ja soveltaa funktion arvoon v.
Esimerkki:
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() + "]"Kun yllä oleva koodi on koottu ja suoritettu, se tuottaa seuraavan tuloksen.
C:/>scalac Test.scalaC:/>scala Test[10]C:/>
19) Mitä eroa muuttujalla var ja arvolla on?
Scalassa voit määrittää muuttujan joko a-, val- tai var-avainsanoilla. Ero val: n ja var: n välillä on, var on paljon kuin Java-ilmoitus, mutta val on vähän erilainen. Emme voi muuttaa viittausta pisteeksi toiseen viitteeseen, kun muuttuja on ilmoitettu käyttämällä val. Var-avainsanoilla määritetty muuttuja on muutettavissa ja sitä voidaan muuttaa mitä tahansa kertoja.
20) Mitkä ovat vaihtoehdot, jotkut eivät kukaan skalassa?
'Optio' on Scala-geneerinen tyyppi, joka voi olla joko 'jokin' yleinen arvo tai ei mitään. Jonossa käytetään sitä usein primitiivien esittämiseen, jotka voivat olla nollia.
21) Kuinka liitän luetteloon?
Liitä luetteloon scalassa käyttämällä “
:+” 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) Kuinka voit muotoilla merkkijonoa?
Muotoile merkkijono käyttämällä .format () -menetelmää, jota voit käyttää scalassa
Val muotoiltu = "% s% i" .formaatti (mystring.myInt)
23) Miksi scala suosii muuttumattomuutta?
Scala suosii muotoilussa muuttumattomuutta ja käyttää sitä monissa tapauksissa oletuksena. Muuttamattomuus voi auttaa tasa-arvoasioissa tai samanaikaisissa ohjelmissa.
24) Mitkä ovat neljä scala-tunnistetyyppiä?
Neljä tunnistetyyppiä ovat
- Aakkosnumeeriset tunnisteet
- Operaattoritunnukset
- Sekatunnisteet
- Kirjaimelliset tunnisteet
25) Mitkä ovat erilaiset Scala-literaalit?
Eri litraalit scalassa ovat
- Kirjaimien kokonaisluku
- Liukulukuinen literaali
- Boolen kirjaimet
- Symbol literaalit
- Hahmolitraalit
- Merkkijonon literaalit
- Moniriviset kielet