Ho lokolloa ha puo ea lenaneo la Crystal 1.5

Ho lokolloa ha puo ea lenaneo la Crystal 1.5 ho hatisitsoe, bao baetsi ba bona ba lekang ho kopanya boiketlo ba tsoelo-pele ka puo ea Ruby le tšobotsi e phahameng ea ts'ebetso ea puo ea C. Syntax ea Crystal e haufi, empa ha e lumellane ka botlalo le, Ruby, le hoja mananeo a mang a Ruby a sebetsa ntle le phetoho. Khoutu ea komporo e ngotsoe ka Crystal mme e ajoa tlasa laesense ea Apache 2.0.

Puo e sebelisa tlhahlobo ea mofuta o tsitsitseng, e kenngoeng tšebetsong ntle le tlhoko ea ho hlakisa mefuta ea mefuta-futa le likhang tsa mokhoa khoutu. Mananeo a Crystal a hlophisitsoe hore e be lifaele tse sebetsang, 'me li-macros li hlahlojoa le khoutu e hlahisoang ka nako ea ho bokella. Mananeong a Crystal, hoa khoneha ho hokahanya litlamo tse ngotsoeng ka C. Ho tšoana ha ts'ebetso ea khoutu ho etsoa ho sebelisoa "spawn" keyword, e leng se u lumellang hore u tsamaise mosebetsi o ka morao ka mokhoa o ts'oanang, ntle le ho thibela khoele e kholo, ka mokhoa oa likhoele tse bobebe tse bitsoang likhoele.

Laeborari e tloaelehileng e fana ka sete e kholo ea mesebetsi e tloaelehileng, ho kenyelletsa lisebelisoa tsa ho sebetsana le CSV, YAML, le JSON, likarolo tsa ho theha li-server tsa HTTP, le tšehetso ea WebSocket. Nakong ea ts'ebetso ea nts'etsopele, ho bonolo ho sebelisa taelo ea "crystal play", e hlahisang sebopeho sa marang-rang (localhost:8080 ka ho sa feleng) bakeng sa ts'ebetso e kopanetsoeng ea khoutu ka puo ea Crystal.

Liphetoho tse kholo:

  • Moqapi o kentse cheke bakeng sa ngollano ea mabitso a likhang ts'ebetsong ea mokhoa o sa bonahaleng le tlhalosong ea ona. Haeba ho na le lebitso le sa lumellaneng, joale ho fanoe ka temoso: abstract class FooAbstract abstract def foo(nomoro : Int32) : Ha ho na sehlopha sa ho qetela Foo < FooAbstract def foo(lebitso : Int32) : Nil p name end end 6 | def foo(lebitso: Int32) : Ha ho na ^— Tlhokomeliso: 'lebitso' la paramethara le lumellana le 'palo' ea mokhoa o fetelletseng oa FooAbstract#foo(nomoro: Int32), e nang le lebitso le fapaneng mme e ka ama ho feta ha likhang.
  • Ha o abela khang ho mokhoa o sa ngoloang boleng ba phapano, khang e se e lekanyelitsoe ho mofuta oa mofuta oo. class Foo @x : Int64 def initialize(x) @x = x # parameter x e tla ngoloa @x end end
  • E u lumella ho eketsa litlhaloso ho mekhahlelo ea mekhoa kapa macros. def foo(@[Mohlomong e sa sebelisoe] x); qetella # Ho lokile
  • Tšehetso e ekelitsoeng ea ho sebelisa li-constants e le li-indices le mabitso ka li-tuples. KEY = "s" foo = {s: "String", n: 0} beha foo[KEY].size
  • Mekhoa e mecha ea File#delete? e kentsoe ho File API bakeng sa ho hlakola lifaele le li-directory. le Dir#delete?, e khutlisang leshano haeba faele kapa bukana e le sieo.
  • Tšireletso ea mokhoa oa File.temfile e matlafalitsoe, eo hona joale e sa lumelleng litlhaku tse se nang thuso meleng e etsang lebitso la faele.
  • Phapang e kentsoeng ea tikoloho NO_COLOR, e thibelang ho totobatsa mebala ho sekopanyi le tlhahiso ea mofetoleli.
  • Mosebetsi ka mokhoa oa ho fetolela o ntlafalitsoe haholo.

Source: opennet.ru

Eketsa ka tlhaloso