Ho lokolloa ha puo ea lenaneo la Crystal 1.2

Ho lokolloa ha puo ea lenaneo la Crystal 1.2 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:

  • E kentse bokhoni ba ho abela sehlopha se senyenyane sa sehlopha se akaretsang ho karolo ea sehlopha sa batsoali. sehlopha sa Foo(T); end class Bar(T) < Foo(T); pheletso x = Foo x = Bar
  • Macros joale e ka sebelisa underscore ho iphapanyetsa boleng ba loop. {% bakeng sa _, v, i ho {1 => 2, 3 => 4, 5 => 6} %} p {{v + i}} {% qetello %}
  • E kentse mokhoa oa "file_exists?" ho macros. ho lekola boteng ba faele.
  • Laeborari e tloaelehileng hona joale e ts'ehetsa 128-bit integers.
  • E kenyellelitsoe Indexable ::Module e ka feto-fetohang (T) e nang le ts'ebetsong ea ts'ebetso e tsoetseng pele bakeng sa pokello e kang BitArray le Deque. ba = BitArray.new(10) # ba = BitArray[0000000000] ba[0] = nnete # ba = BitArray[1000000000] ba.rotate!(-1) # ba = BitArray[0100000000]
  • XML e ekelitsoeng::Node#namespace_definition mokhoa oa ho ntša sebaka se itseng sa mabitso ho tsoa ho XML.
  • Mekhoa ea IO#write_utf8 le URI.encode ha e sebetse 'me e lokela ho nkeloa sebaka ke IO#write_string le URI.encode_path.
  • Tšehetso ea meralo ea 32-bit x86 e isitsoe boemong ba bobeli (liphutheloana tse lokiselitsoeng ha li sa hlahisoa). Phetisetso ea boemo ba pele ba ts'ehetso bakeng sa meralo ea ARM64 e ntse e lokisoa.
  • Mosebetsi o ntse o tsoela pele ho netefatsa tšehetso e felletseng bakeng sa sethala sa Windows. Tšehetso e ekelitsoeng bakeng sa li-sockets tsa Windows.
  • Ho kenyellelitsoe sephutheloana sa bokahohle bakeng sa macOS, se sebetsang ka bobeli ho lisebelisoa tse nang le li-processor tsa x86 le lisebelisoa tse nang le chip ea Apple M1.

Source: opennet.ru

Eketsa ka tlhaloso