Útgáfa Crystal forritunarmálsins 1.5

Útgáfa Crystal 1.5 forritunarmálsins hefur verið gefin út, sem forritarar eru að reyna að sameina þægindin við þróun á Ruby tungumálinu og háum forritaframmistöðu sem einkennir C tungumálið. Setningafræði Crystal er nálægt Ruby en er ekki fullkomlega samhæfð við Ruby, þó að sum Ruby forrit keyri án breytinga. Þjálfarakóðinn er skrifaður í Crystal og dreift undir Apache 2.0 leyfinu.

Tungumálið notar kyrrstæða tegundathugun, útfærð án þess að þurfa að tilgreina sérstaklega tegundir breytna og aðferðarrök í kóðanum. Kristalforrit eru sett saman í keyranlegar skrár, með fjölvi metin og kóða myndaður við þýðingu. Í Crystal forritum er hægt að tengja bindingar skrifaðar í C. Samhliða keyrslu kóða fer fram með því að nota „spawn“ lykilorðið, sem gerir þér kleift að keyra bakgrunnsverkefni ósamstillt, án þess að loka á aðalþráðinn, í formi léttra þráða sem kallast trefjar.

Staðlaða bókasafnið býður upp á mikið safn af algengum aðgerðum, þar á meðal verkfæri til að vinna úr CSV, YAML og JSON, íhlutum til að búa til HTTP netþjóna og WebSocket stuðning. Meðan á þróunarferlinu stendur er þægilegt að nota „crystal play“ skipunina, sem býr til vefviðmót (localhost:8080 sjálfgefið) fyrir gagnvirka keyrslu kóða á Crystal tungumálinu.

Helstu breytingar:

  • Þýðandinn hefur bætt við ávísun á samsvörun röksemdaheita við útfærslu á óhlutbundinni aðferð og í skilgreiningu hennar. Ef nafn misræmist er nú gefið út viðvörun: abstract class FooAbstract abstract def foo(tala : Int32) : Nil end class Foo < FooAbstract def foo(name : Int32) : Nil p name end end 6 | def foo(nafn: Int32) : Ekkert ^— Viðvörun: staðsetningarfæribreytan 'nafn' samsvarar færibreytunni 'númer' í hnekktu aðferðinni FooAbstract#foo(númer: Int32), sem hefur annað nafn og getur haft áhrif á flutning á nafngreindum rifrildum
  • Þegar rifrildi er úthlutað til óritaðrar aðferðar við gildi breytu, er röksemdin nú bundin við gerð þeirrar breytu. class Foo @x : Int64 def initialize(x) @x = x # færibreyta x verður slegin @x end end
  • Gerir þér kleift að bæta athugasemdum við færibreytur aðferða eða fjölva. def foo(@[Kannski Ónotað] x); enda # OK
  • Bætti við stuðningi við að nota fasta sem vísitölur og nöfn í túllum. KEY = "s" foo = {s: "Strengur", n: 0} setur foo[KEY].stærð
  • Nýjum File#delete? aðferðum hefur verið bætt við File API til að eyða skrám og möppum. og Dir#delete?, sem skila false ef skrána eða möppuna vantar.
  • Vörn File.tempfile aðferðarinnar hefur verið styrkt sem leyfir nú ekki núllstafi í línunum sem mynda skráarnafnið.
  • Bætti við umhverfisbreytu NO_COLOR, sem gerir litaútgáfu óvirkt í þýðanda og túlkúttak.
  • Vinna í túlkaham hefur verið bætt verulega.

Heimild: opennet.ru

Bæta við athugasemd