Itusilẹ ti ede siseto Crystal 1.2

Itusilẹ ti ede siseto Crystal 1.2 ti ṣe atẹjade, awọn olupilẹṣẹ eyiti o ngbiyanju lati darapo irọrun ti idagbasoke ni ede Ruby pẹlu ihuwasi iṣẹ ṣiṣe ohun elo giga ti ede C. Crystal ká sintasi jẹ sunmo si, sugbon ko ni kikun si ni ibamu pẹlu Ruby, biotilejepe diẹ ninu Ruby eto nṣiṣẹ lai iyipada. Awọn koodu alakojo ti kọ ni Crystal ati pin labẹ awọn Apache 2.0 iwe-ašẹ.

Ede naa nlo iṣayẹwo iru aimi, ti a ṣe laisi iwulo lati pato awọn iru awọn oniyipada ati awọn ariyanjiyan ọna ninu koodu naa. Awọn eto Crystal ti wa ni akojọpọ sinu awọn faili ṣiṣe, pẹlu iṣiro macros ati koodu ti ipilẹṣẹ ni akoko akopọ. Ninu awọn eto Crystal, o ṣee ṣe lati sopọ awọn abuda ti a kọ sinu C. Idarapọ ti ipaniyan koodu ni a ṣe ni lilo ọrọ-ọrọ “spawn”, eyiti o fun ọ laaye lati ṣiṣẹ iṣẹ-ṣiṣe lẹhin asynchronously, laisi idilọwọ okun akọkọ, ni irisi awọn okun iwuwo fẹẹrẹ ti a pe ni awọn okun.

Ile-ikawe boṣewa n pese eto nla ti awọn iṣẹ ti o wọpọ, pẹlu awọn irinṣẹ fun sisẹ CSV, YAML, ati JSON, awọn paati fun ṣiṣẹda awọn olupin HTTP, ati atilẹyin WebSocket. Lakoko ilana idagbasoke, o rọrun lati lo aṣẹ “crystal play”, eyiti o ṣe agbekalẹ wiwo wẹẹbu kan (localhost: 8080 nipasẹ aiyipada) fun ipaniyan ibaraenisepo ti koodu ni ede Crystal.

Awọn iyipada akọkọ:

  • Ṣafikun agbara lati fi ipin ipin kan ti kilasi jeneriki si ipin kan ti kilasi obi kan. kilasi Foo (T); ipari kilasi Pẹpẹ (T) <Foo (T); opin x = Foo x = Pẹpẹ
  • Macros le lo ohun underscore lati foju kan iye ni a fun lupu. {% fun _, v, i ninu {1 => 2, 3 => 4, 5 => 6} %} p {{v + i}} {% opin %}
  • Ṣe afikun ọna “faili_exists?” si awọn Makiro. lati ṣayẹwo aye ti faili kan.
  • Ile-ikawe boṣewa bayi ṣe atilẹyin awọn odidi 128-bit.
  • Fi kun Indexable :: Mutable (T) module pẹlu imuse awọn iṣẹ ilọsiwaju fun awọn akojọpọ bii BitArray ati Deque. ba = BitArray.new(10) # ba = BitArray[0000000000] ba[0] = otito # ba = BitArray[1000000000] ba.rotate!(-1) # ba = BitArray[0100000000]
  • Fikun XML :: Node#namespace_definition ọna lati yọkuro aaye orukọ kan pato lati XML.
  • Awọn ọna IO#write_utf8 ati URI.encode ti jẹ idinku ati pe o yẹ ki o rọpo nipasẹ IO#write_string ati URI.encode_path.
  • Atilẹyin fun faaji 32-bit x86 ti gbe lọ si ipele keji (awọn idii ti a ti ṣetan ko ṣe ipilẹṣẹ mọ). Gbigbe kan si ipele akọkọ ti atilẹyin fun faaji ARM64 ti wa ni ipese.
  • Iṣẹ tẹsiwaju lati rii daju atilẹyin ni kikun fun pẹpẹ Windows. Atilẹyin ti a ṣafikun fun awọn iho Windows.
  • A ti ṣafikun package gbogbo agbaye fun macOS, ṣiṣẹ mejeeji lori awọn ẹrọ pẹlu awọn ilana x86 ati lori ohun elo pẹlu chirún Apple M1.

orisun: opennet.ru

Fi ọrọìwòye kun