Fa'asa'olotoina o le gagana polokalame Crystal 1.5

O le faʻasalalauga o le Crystal 1.5 polokalame polokalame ua faʻasalalau, o loʻo taumafai le au atinaʻe e tuʻufaʻatasia le faʻaogaina o le atinaʻe i le gagana Ruby ma le maualuga o le faʻatinoga o le faʻatinoga o le gagana C. O le syntax a Crystal e latalata i, ae le fetaui atoatoa ma, Ruby, e ui o nisi polokalame Ruby e tamoe e aunoa ma se suiga. O le code compiler o loʻo tusia i Crystal ma tufatufaina i lalo o le laisene Apache 2.0.

E fa'aogaina e le gagana su'esu'ega fa'apitoa, fa'atino e aunoa ma le mana'omia ona fa'ailoa manino ituaiga o fesuiaiga ma metotia fa'aupuga i le code. O polokalame tioata e tu'ufa'atasia i faila e mafai ona fa'atinoina, fa'atasi ai ma macros e iloiloina ma fa'atupuina fa'ailoga ile taimi fa'aopoopo. I polokalame Crystal, e mafai ona faʻafesoʻotaʻi fusi o loʻo tusia i le C. O le faʻatusatusaina o le faʻatinoina o tulafono e faʻatinoina e faʻaaoga ai le upu "spawn", lea e mafai ai e oe ona faʻatautaia se galuega i tua i le asynchronous mode e aunoa ma le polokaina o le filo autu, i foliga o filo mama mama e taʻua o filo.

O le faletusi masani e maua ai se seti tele o galuega masani, e aofia ai meafaigaluega mo le faʻaogaina o le CSV, YAML, ma le JSON, vaega mo le fatuina o sapalai HTTP, ma le WebSocket lagolago. I le faagasologa o le atinaʻe, e faigofie le faʻaogaina o le "crystal play" poloaiga, lea e faʻatupuina ai se upega tafaʻilagi (localhost: 8080 e le mafai) mo le faʻaogaina o le code i le gagana Crystal.

Suiga autu:

  • Ua faʻaopoopoina e le tagata faʻapipiʻi se siaki mo le fesoʻotaʻiga o igoa o finauga i le faʻatinoga o se auala faʻapitoa ma lona faʻamatalaga. Afai e i ai se igoa e le fetaui, ua tu'uina atu nei se lapataiga: vasega abstract FooAbstract abstract def foo(numera : Int32): Nil end class Foo < FooAbstract def foo(igoa: Int32): Nil p igoa fa'ai'u 6 | def foo(igoa: Int32): Nil ^— Lapata'iga: 'igoa' fa'ailoga tulaga e fetaui ma le 'numera' o le metotia fa'ato'a FooAbstract#foo(numera: Int32), e ese lona igoa ma e ono a'afia ai le fa'aigoaina o finauga.
  • Pe a tuʻuina atu se finauga i se auala e le faʻaaogaina i le tau o se fesuiaiga, o le finauga ua faʻamalosia nei i le ituaiga o lena fesuiaiga. vasega Foo @x : Int64 def initialize(x) @x = x # parameter x o le a taina @x end end
  • Fa'ataga oe e fa'aopoopo fa'amatalaga i tapula'a o metotia po'o macros. def foo(@[MaybeUnused] x); fa'ai'u # Ua lelei
  • Faʻaopoopo le lagolago mo le faʻaaogaina o mea tumau e fai ma faʻailoga ma igoa i tuple. KEY = "s" foo = {s: "String", n: 0} tuu foo[KEY].size
  • Ua fa'aopoopo i le File API mo le tapeina o faila ma fa'atonuga. ma le Dir#delete?, lea e toe fo'i sese pe a misi le faila po'o le fa'atonu.
  • O le puipuiga o le File.tempfile method ua faʻamalosia, lea ua le faʻatagaina nei le null characters i laina e fausia ai le igoa faila.
  • Fa'aopoopo le si'osi'omaga fesuia'i NO_COLOR, e fa'agata ai le fa'ailoga lanu i le fa'aputu ma le fa'aliliu upu.
  • O galuega i le fa'aliliu upu ua matua fa'aleleia.

puna: opennet.ru

Faaopoopo i ai se faamatalaga