Útgáfa Crystal forritunarmálsins 1.2

Útgáfa Crystal 1.2 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:

  • Bætti við hæfileikanum til að úthluta undirflokki almenns flokks við frumefni foreldraflokks. flokkur Foo(T); endaflokkur Bar(T) < Foo(T); enda x = Foo x = Bar
  • Fjölvi geta nú notað undirstrik til að hunsa gildi í for lykkju. {% fyrir _, v, i í {1 => 2, 3 => 4, 5 => 6} %} p {{v + i}} {% end %}
  • Bætti við „file_exists?“ aðferð við fjölva. til að athuga hvort skrá sé til.
  • Staðlaða bókasafnið styður nú 128 bita heiltölur.
  • Bætt við Indexable::Mutable(T) einingu með útfærslu háþróaðra aðgerða fyrir söfn eins og BitArray og Deque. ba = BitArray.new(10) # ba = BitArray[0000000000] ba[0] = satt # ba = BitArray[1000000000] ba.rotate!(-1) # ba = BitArray[0100000000]
  • Bætt við XML::Node#namespace_definition aðferð til að draga tiltekið nafnrými út úr XML.
  • IO#write_utf8 og URI.encode aðferðirnar hafa verið úreltar og ætti að skipta þeim út fyrir IO#write_string og URI.encode_path.
  • Stuðningur við 32-bita x86 arkitektúr hefur verið færður á annað stig (tilbúnir pakkar eru ekki lengur búnir til). Verið er að undirbúa flutning á fyrsta stig stuðnings fyrir ARM64 arkitektúrinn.
  • Unnið er áfram að því að tryggja fullan stuðning fyrir Windows pallinn. Bætt við stuðningi fyrir Windows innstungur.
  • Alhliða pakka hefur verið bætt við fyrir macOS sem virkar bæði á tækjum með x86 örgjörvum og á búnaði með Apple M1 flís.

Heimild: opennet.ru

Bæta við athugasemd