Ilmus uus versioon Crystalist, Ruby sĂŒntaksiga kompileeritav programmeerimiskeel, mille peamised omadused on - âsisse ehitatudâ event loop'iga runtime, kus kĂ”ik sisendi ja vĂ€ljundi operatsioonid on asĂŒnkroonsed, mitme lĂ”ime toetamine (praegu lubatud kompileerimise ajal lipu kaudu) ning erakordselt lihtne ja mugav töötamine C keele teekidega.
Alates versioonist 0.34.0 hakkab keel ametlikult kindlalt liikuma tÔelise esimese vÀljaande poole (st versioon 1.0).
Uues Crystal versioonis vÔib mÀrkida jÀrgmisi muudatusi ja parandusi olulisuse jÀrjekorras:
API-s on lisatud uus logimistööriist Log, mis erinevalt vanast, suudab suunata sĂ”numeid erinevatesse tagapĂ”hjadele ja filtreerida neid erinevalt sĂ”ltuvalt âallikastâ.
C programmeerimise maailma jÀÀknÀhtus, Errno ja WinError, mida kasutati sisendi ja vÀljundi primitiivide jaoks, jÀÀb ajalukku tÀnu erandi hierarhiale IO::Error (kuigi keegi ei keela kasutada Errno't).
TĂŒhistatud on automaatne else nil toomine operatorist case/when/else. See on tehtud juhuslike arenguotsuste vĂ€ltimiseks mĂ”nes haru jne. Mida rohkem te Ansible'i tunnete, seda rohkem nĂŒansse saate öelda "kavalate" lahenduste kohta. Ja lihtne lahendus â loomulik jaotus pre/roles/post vahel â ei tekita nĂŒansse. determiniseeritud juhtumite nagu enum'ide puhul ja Union tĂŒĂŒpi lĂ€bimisel. TeisisĂ”nu, selline kood ei tööta enam ilma tĂ€iendava mÀÀranguta jne. Mida rohkem te Ansible'i tunnete, seda rohkem nĂŒansse saate öelda "kavalate" lahenduste kohta. Ja lihtne lahendus â loomulik jaotus pre/roles/post vahel â ei tekita nĂŒansse. (when Char) vĂ”i haru mÀÀramiseta: muul juhula = 1 || âxâ || "foo"
case a
when Int32
when String
# âŠ
Kompilaatori valik
# âŠ
lÔpeta
disable_overflow ei ole enam saadaval. Ăleujutuste operatsioonide jaoks kasutage meetodeid &+, &-, &*. Array#fill
lendab nĂŒĂŒd kiiremini kui kuul, tĂ€nu rumala tsĂŒkli asendamisele lihtsalt memset'iga; Pakihaldur, kelle nimed, nii paradoksaalne kui see ka pole,
shards , kasutab nĂŒĂŒd kiirem ja efektiivsemat sĂ”ltuvuste rahuldamise algoritmi Molinillo, vaadatud CocoaPods (Swift) ja Builder (Ruby) nĂ€itel., mis peaks ideaalis tooma meile teatud tootlikkuse ja stabiilsuse kasvu, jne.
Lisatud tugi LLVM 10⊠ja palju teisi, minu subjektiivsel arvamusel, vÀhem olulisi parandusi.
⊠ja palju teisi, minu subjektiivsel arvamusel, vÀhem olulisi tÀiustusi.
Sooviksin mĂ€rkida, et Crystal on LLVM-pĂ”hine keel, mis vĂ”imaldab kirjutada rakendusi sageli kiiremini, lihtsamalt ja lakoonilisemalt kui tema tĂ”lgitud "vennad", samas kui vĂ€ljundiks on ĂŒsna kiire binaarfail. Erinevalt Golang'ist on tal tĂ€iustatud OOP, generikate tugi ja vĂ€ga lihtne ning arusaadav sĂŒnkse. Oma eesmĂ€rgi poolest on see suures osas sarnane Nim'i keelele, kuid on selgelt suunatud praktilisele rakendamisele "siin ja praegu", mistĂ”ttu on selle API arsenalis palju korralikult dokumenteeritud mugavaid ja kvaliteetseid tööriistu, mida keele arendajad toetavad ja seega on need ĂŒsna stabiilsed.
Allikas: linux.org.ru
