Sakin Harshen shirye-shiryen Crystal 1.5

An buga sakin harshen shirye-shirye na Crystal 1.5, wanda masu haɓakawa ke ƙoƙarin haɗawa da dacewa na ci gaba a cikin yaren Ruby tare da babban yanayin aikin aikace-aikacen harshen C. Maganar Crystal tana kusa da, amma bai dace da Ruby ba, kodayake wasu shirye-shiryen Ruby suna gudana ba tare da gyara ba. An rubuta lambar mai tarawa a cikin Crystal kuma an rarraba ta ƙarƙashin lasisin Apache 2.0.

Harshen yana amfani da duban nau'in a tsaye, wanda aka aiwatar ba tare da buƙatar fayyace nau'ikan masu canji da gardamar hanya a cikin lambar ba. An haɗa shirye-shiryen Crystal cikin fayiloli masu aiwatarwa, tare da ƙididdige macro da ƙirƙira lambar a lokacin tattarawa. A cikin shirye-shiryen Crystal, yana yiwuwa a haɗa ɗaurin da aka rubuta a cikin C. Ana aiwatar da daidaitattun aiwatar da lambar ta amfani da kalmar "spawn", wanda ke ba ku damar gudanar da aikin baya ba tare da toshe babban zaren ba, a cikin nau'in zaren nauyi mai nauyi da ake kira fibers.

Madaidaicin ɗakin karatu yana ba da babban saiti na ayyuka gama gari, gami da kayan aikin sarrafa CSV, YAML, da JSON, abubuwan haɗin don ƙirƙirar sabar HTTP, da tallafin WebSocket. Yayin aiwatar da ci gaba, yana da dacewa don amfani da umarnin "crystal play", wanda ke haifar da haɗin yanar gizo (localhost: 8080 ta tsohuwa) don aiwatar da mu'amala na lamba a cikin harshen Crystal.

Babban canje-canje:

  • Mai tarawa ya ƙara rajista don daidaiton sunayen gardama a cikin aiwatar da wata hanya mai ƙima da ma'anarta. Idan akwai rashin daidaituwa na suna, yanzu an ba da gargaɗi: abstract class FooAbstract abstract def foo(lamba: Int32): Nil end class Foo < FooAbstract def foo(suna: Int32) : Nil p sunan ƙarshen ƙarshen 6 | def foo(suna: Int32): Nil ^ — Gargadi: siga na matsayi 'suna' yayi daidai da siga 'lambar' hanyar da aka soke FooAbstract#foo (lamba: Int32), wanda yana da suna daban kuma yana iya shafar wucewar gardama mai suna.
  • Lokacin sanya hujja ga hanyar da ba a rubuta ba ga ƙimar ma'auni, gardamar yanzu tana takura da nau'in canjin. class Foo @x : Int64 def initialize(x) @x = x # siga x za a buga @x karshen
  • Yana ba ku damar ƙara bayanai zuwa sigogin hanyoyi ko macros. def foo(@[MaybeUnused] x); karshen # OK
  • Ƙara goyon baya don amfani da madaukai azaman fihirisa da sunaye a cikin tuples. KEY = "s" foo = {s: "Kira", n: 0} yana sanya foo[KEY].
  • Sabbin hanyoyin Fayil#share? an ƙara zuwa Fayil API don share fayiloli da kundayen adireshi. da Dir#delete?, wanda ke mayar da karya idan fayil ko directory ya ɓace.
  • An ƙarfafa kariyar hanyar File.tempfile, wanda yanzu baya ƙyale haruffa marasa amfani a cikin layin da suka samar da sunan fayil.
  • Ƙara canjin yanayi NO_COLOR, wanda ke hana nuna launi a cikin mai tarawa da fitarwar fassarar.
  • An inganta aiki a yanayin fassara sosai.

source: budenet.ru

Add a comment