apeescape2.com
  • Põhiline
  • Inimesed Ja Meeskonnad
  • Tooteinimesed Ja Meeskonnad
  • Disaineri Elu
  • Mobiilne
Tagumine Ots

Eliksiiri programmeerimiskeelega alustamine

Kui olete lugenud ajaveebipostitusi, häkkerite uudislõike, oma lemmikarendajaid säutsunud või kuulanud taskuhäälingusaateid, siis olete ilmselt kuulnud Elixiri programmeerimiskeelest. Keele lõi avatud lähtekoodiga maailmas tuntud arendaja José Valim. Võite teda tunda Ruby on Rails MVC raamistikust või väljatöötatud ja lihtsate vormidega rubiinkividest, mille kallal tema ja tema Plataformateci kaastöötajad on viimastel aastatel töötanud.

José Valimi sõnul sündis eliksiir aastal 2011 . Tal tekkis idee uus keel üles ehitada heade vahendite puudumise tõttu rubiinimaailma samaaegsusega seotud probleemide lahendamiseks. Sel ajal, olles veetnud aega samaaegsuse uurimises ja keskendunud keelte levitamises, leidis ta kaks talle meeldivat keelt - Erlang ja Clojure, mis töötavad JVM-is. Talle meeldis kõik, mida ta nägi erlangi keeles (Erlang VM), ja ta vihkas asju, mida ta ei näinud, näiteks polümorfismi, metaprogrammeerimist ja keele laiendamise atribuute, milles Clojure oskas. Niisiis sündis Elixir seda silmas pidades, et tal oleks Clojure'ile alternatiiv ja dünaamiline keel, mis töötab Erlangi virtuaalses masinas hea laiendatavusega.



Eliksiir kirjeldab ennast dünaamilise, funktsionaalse keelena, millel on muutumatu olek ja näitlejapõhine lähenemine samaaegsusele, mis on mõeldud skaleeritavate hooldatavad rakendused lihtsa, kaasaegse ja korraliku süntaksiga. Keel töötab virtuaalses masinas Erlang, mis on lahingukindel, suure jõudlusega ja hajutatud virtuaalne masin, mis on tuntud madala latentsuse ja tõrketaluvuse omaduste poolest.

Enne kui näeme mõnda koodi, tasub öelda, et Elixir on olnud kogukonna poolt aktsepteeritud mis kasvab. Kui soovite täna eliksiiri õppida, leiate sealt hõlpsasti raamatuid, raamatukogusid, konverentse, kohtumisi, taskuhäälingusaateid, ajaveebipostitusi, infolehti ja igasuguseid õppeallikaid, nagu ka Erlangi loojad aktsepteerisid.

Vaatame koodi!



Eliksiiri installimine:

Eliksiiri installimine on ülilihtne kõigil peamistel platvormidel ja on enamikus neist ühe liiniga.

Arch Linux

Elixir on Arch Linuxis saadaval ametlike hoidlate kaudu:

pacman -S elixir

Ubuntu

Eliksiiri installimine Ubuntu on natuke kaval. Kuid sellegipoolest on see piisavalt lihtne.



wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb apt-get update apt-get install esl-erlang apt-get install elixir

OS X

Installige Elixir OS X-i kasutades Homebrew .

brew install elixir

Tutvuge IExiga

Pärast installi lõppu on aeg oma kest avada. Kui soovite Elixiris areneda, veedate palju aega oma kestas.

Eliksiiri interaktiivne kest ehk IEx on REPL - (Read Evaluate Print Loop), kus saate eliksiiri uurida. Seal saate väljendeid sisestada ja neid hinnatakse, andes teile kohest tagasisidet. Pidage meeles, et teie koodi on tõepoolest hinnatud ja seda pole kompileeritud, seega veenduge, et te ei käitaks shellis profileerimist ega võrdlusaluseid.

IEX REPLi demo.

Katkestuskäsk

Enne IEx REPLi käivitamist peate teadma olulist asja - kuidas sellest väljuda.

Ilmselt olete harjunud lööma CTRL+C terminalis töötavate programmide sulgemiseks. Kui tabasite CTRL+C IEx REPL-is avate menüü Break. Vaheaja menüüs olles saate vajutada CTRL+C uuesti, et sulgeda kest ja vajutada ka a

IEx REPL-ist väljumine.

Ma ei hakka vahetundide menüü funktsioonidesse sukelduma. Kuid vaatame mõnda IExi abistajat!

Abistajad

IEx pakub hulga abistajad , et loetleda need kõik, tippige: h().

Ja seda peaksite nägema:

IExi abilised.

Need on ühed minu lemmikutest, ma arvan, et neist saavad ka teie.

  • h nagu me just nägime, prindib see funktsioon abistaja teate.
  • h/1 mis on sama funktsioon, kuid nüüd ootab see ühte argumenti.

Näiteks kui soovite näha String dokumentatsiooni strip/2 meetodit, mida saate hõlpsalt teha:

IEx: dokumentide kontrollimine.

Ilmselt teine ​​kõige kasulikum IExi abistaja, mida kasutate Elixiris programmeerimisel, on c/2, mis kompileerib antud eliksiirifaili (või loendi) ja eeldab teise parameetrina teed kompileeritud failide kirjutamiseks .

Oletame, et töötate ühes http://exercism.io/ Elixiri harjutustest, Anagrami harjutusest.

Nii et olete rakendanud Anagram moodul, mille meetod on match/2 failis anagram.exs. Nagu hea arendaja olete, olete kirjutanud mõned spetsifikatsioonid, et kõik toimiks ka ootuspäraselt.

Teie praegune kataloog näeb välja selline:

Selle Elixiri projekti kataloogide loend.

Nüüd peate testide käivitamiseks Anagrami mooduli käivitamiseks / kompileerimiseks.

Testide läbiviimine Elixiris.

Nagu äsja nägite, kutsuge faili koostamiseks lihtsalt elixir käivitatav fail edastatakse argumendina faili, mida soovite kompileerida.

Oletame nüüd, et soovite käivitada IEx REPL-i koos seansi kontekstis ligipääsetava Anagrami mooduliga. On kaks tavaliselt kasutatavat valikut. Esimene on see, et saate faili nõuda, kasutades valikuid -r, midagi sellist iex -r anagram.exs. Teise saate koostada otse IExi seansist.

Koostamine otse IExi seansilt.

sõlm js mis see on

Lihtne, just nii!

Ok, mis siis, kui soovite mooduli uuesti kompileerida? Kas peaksite IExist väljuma, selle uuesti käivitama ja fail uuesti kompileerima? Ei! Kui teil on hea mälu, mäletate, et kui loetlesime kõik IEx REPLis saadaolevad abimehed, nägime midagi uuesti kompileerimise käsu kohta. Vaatame, kuidas see töötab.

Ümberkompileerimine IExis.

Pange tähele, et seekord edastasite argumendina mooduli enda, mitte faili tee.

Nagu nägime, on IExil veel palju kasulikke abilisi, mis aitavad teil õppida ja paremini mõista, kuidas Elixir programm töötab.

Eliksiiritüüpide põhitõed

Numbrid

Numbreid on kahte tüüpi. Suvalised täisarvud ja ujukomaarvud.

Täisarvud

Täisarvud saab kirjutada kümnendkoha baasi, kuueteistkümnendkoha, kaheksanda ja kahendarvuna.

Nagu Rubiin , saate suurte arvude kirjutamisel kolme joonega rühmade eraldamiseks alakriipsuga. Näiteks võite saada õiguse sajale miljonile niimoodi:

100_000_000

Kaheksas:

0o444

Kuueteistkümnendkoht:

0xabc

Binaarne:

0b1011

Ujukid

Põrandad on IEEE 754 topelttäpsusega. Neil on 16 numbrit täpsust ja maksimaalne eksponent on umbes 10308.

Ujukid kirjutatakse komakohaga. Enne ja pärast punkti peab olema vähemalt üks number. Võite lisada ka lõpp-eksponendi. Näiteks 1.0, 0.3141589e1 ja 314159.0-e.

Aatomid

Aatomid on konstandid, mis tähistavad nimesid. Need on muutumatud väärtused. Kirjutate aatomi, millel on juhtiv käärsool : ja tähtede, numbrite, alakriipsude ja märkide jada @. Võite need kirjutada ka juhtkooloniga : ja meelevaldne märkide jada, mis on ümbritsetud jutumärkidega.

Aatomid on väga võimas tööriist, neid kasutatakse nii erlangi funktsioonide kui ka klahvide ja eliksiiri meetodite viitamiseks.

Siin on mõned kehtivad aatomid.

:name, :first_name, :'last name', :===, : [email protected] _question?

Booleanid

Loomulikult on tõeväärtused tõesed ja valed väärtused. Kuid nende juures on tore asi päeva lõpus, nad on lihtsalt aatomid.

Booleanid on lihtsalt aatomid, mida tõendab IEx.

Keelpillid

Vaikimisi on eliksiiri stringid UTF-8 nõuetele vastav. Nende kasutamiseks võib olla suvaline arv tähti, mis on ümbritsetud ' või '. Samuti võite stringi sees olla interpoleeritud väljendeid ja põgenenud märke.

Eliksiiri stringide interpoleerimine.

Pange tähele, et üksikud tsiteeritud stringid on tegelikult kahendfailide loend.

Üksik tsiteeritud stringikäitumine eliksiiris.

Anonüümsed funktsioonid

Funktsionaalse keelena on Elixiril põhitüübina anonüümsed funktsioonid. Lihtne viis funktsiooni kirjutamiseks on fn (argument_list) -> body end. Kuid funktsioonil võib olla mitu keha, millel on mitu argumentide loendit, valveklausleid jne.

Dave Thomas, filmis Eliksiiri programmeerimine raamat, soovitab meil mõelda, et fn… end on jutumärgid, mis ümbritsevad stressi literaali, kus stringi väärtuse tagastamise asemel tagastame funktsiooni.

Eliksiiri funktsiooni tagastamine.

kuidas luua erakapitali kinnisvarafond

Tuplid

Tuple on muutumatu indekseeritud massiiv. Nad on kiiresti tagasi oma suuruse ja aeglased lisama uusi väärtusi muutumatu olemuse tõttu. Tupple'i värskendamisel loote tegelikult täiesti uue koopia ise.

Massiivi tagasiväärtusena kasutatakse väga sageli hulgi. Eliksiiris kodeerides näete seda sageli {:ok, something_else_here}.

Nii kirjutame duplika: {?a,?b,?c}.

Mustri sobitamine

Ma ei suuda selgitada kõike, mida peate mustrite sobitamise kohta teadma, kuid see, mida kavatsete lugeda, hõlmab paljusid asju, mida peate alustamiseks teadma.

Eliksiir kasutab = tikuoperaatorina. Selle mõistmiseks peame omamoodi õppima, mida me teame = teistes traditsioonilistes keeltes. Traditsioonilistes keeltes on võrdseks operaatoriks määramine. Elixiris on võrdsed operaatorid mustrite sobitamiseks.

Nii töötab see vasakpoolses servas. Kui need on muutujad, on need seotud parempoolse küljega, kui need pole muutujad, püüab eliksiir neid sobitada parema käega.

Eliksiiri mustri sobitamise demo.

PIN-operaator

Eliksiir pakub viisi, kuidas mustri sobitamine sundida alati vasakus servas asuvat muutujat, tihvtioperaatorit.

Eliksiiri tihvtioperaatori demo.

Loendid

Elixiris näevad loendid välja nagu massiivid, nagu me seda teistest keeltest teame, kuid mitte. Loendid on seotud struktuurid, mis koosnevad peast ja sabast.

Eliksiiride nimekirja käitumine.

Märksõnaloendid

Märksõnaloendid on Tuple paaride loend.

Kirjutate need lihtsalt loenditena. Näiteks: [{: üks, 1}, 2, {: kolm, 3}]. Loendite määratlemiseks on otsetee, see näeb välja järgmine: [üks: 1, kolm: 3].

Üksuse märksõnaloendist hankimiseks võite kasutada kas järgmist:

Keyword.get([{:one, 1}, 2, {:three, 3}], :one)

Või kasutage otseteed:

[{:one, 1}, 2, {:three, 3}][:one]

Kuna väärtuse hankimisel on märksõnaloendid aeglased, on see kulukas toiming, nii et kui salvestate kiiret juurdepääsu vajavaid andmeid, peaksite kasutama kaarti.

Kaardid

Kaardid on tõhus võti / väärtuspaaride kogu. Võtmel võib olla mis tahes väärtus, mida soovite võtmeks, kuid see peaks tavaliselt olema sama tüüpi. Erinevalt märksõnaloenditest lubab Maps antud võtme jaoks ainult ühe sisestuse. Need on kasvades tõhusad ja neid saab kasutada Elixiri mustri sobitamisel üldkasutatavatel kaartidel, kui vajate assotsiatiivset massiivi.

Kaardi kirjutamiseks toimige järgmiselt.

%{ :one => 1, :two => 2, 3 => 3, 'four' => 4, [] => %{}, {} => [k: :v]}

Järeldus

Eliksiir on vinge, kergesti mõistetav, selle ümber on lihtsad, kuid võimsad tüübid ja väga kasulikud tööriistad, mis aitavad teil õppima asumisel. Selles esimeses osas oleme käsitlenud mitmesuguseid andmetüüpe, millele Elixir programmid on üles ehitatud, ja neid töötavaid operaatoreid. Hilisemates osades sukeldume sügavamalt Elixiri maailma - funktsionaalsesse ja samaaegsesse programmeerimisse.

Seotud: ClojureScripti avastamine esiosa arendamiseks

JSON-i veebimärgi õpetus: näide Laraveli ja AngularJS-ist

Veebi Kasutajaliides

JSON-i veebimärgi õpetus: näide Laraveli ja AngularJS-ist
Teie esimese AngularJS-i rakenduse üksikasjalik õpetus

Teie esimese AngularJS-i rakenduse üksikasjalik õpetus

Veebi Kasutajaliides

Lemmik Postitused
Analyticsi direktor
Analyticsi direktor
Kuidas luua kohandatud Magento 2 vidinaid
Kuidas luua kohandatud Magento 2 vidinaid
Varastamise kunst: kuidas saada disaineriks
Varastamise kunst: kuidas saada disaineriks
Mis juhtus BlackBerryga: Zombie Stock või Comeback King?
Mis juhtus BlackBerryga: Zombie Stock või Comeback King?
Kuidas luua eelarve, mis kestaks terve aasta
Kuidas luua eelarve, mis kestaks terve aasta
 
Värvipõhise pildiotsingumootori ehitamine Ruby'sse
Värvipõhise pildiotsingumootori ehitamine Ruby'sse
Kasutage oma inspiratsiooni - juhend meeleolulaudadele
Kasutage oma inspiratsiooni - juhend meeleolulaudadele
Pythoni mitmikeermelise ja mitme töötlemise õpetus
Pythoni mitmikeermelise ja mitme töötlemise õpetus
Kliendi hoidmise tähtsus - empiiriline uuring
Kliendi hoidmise tähtsus - empiiriline uuring
4 Go keelekriitika
4 Go keelekriitika
Lemmik Postitused
  • erinevus llc s corp ja c corp vahel
  • google loomuliku keele töötlemise api
  • kuidas shazami rakendus töötab
  • 3d visualiseerimistarkvara avatud lähtekoodiga
  • $ error [] php
  • milline ettevõte peaks eeldatavalt saama suurema osa oma olemasolevate investeeringute tootlusest?
Kategooriad
Veebi Kasutajaliides Mobiilne Töö Tulevik Kujundusprotsess Kpi-D Ja Analytics Tulud Ja Kasv Inimesed Ja Meeskonnad Tagumine Ots Ux Disain Vilgas

© 2021 | Kõik Õigused Kaitstud

apeescape2.com