Ntọhapụ nke asụsụ mmemme Crystal 1.5

Ebipụtala ntọhapụ nke asụsụ mmemme Crystal 1.5, ndị mmepe nke na-agbalị ijikọ mma mmepe na asụsụ Ruby na njirimara ngwa ngwa dị elu nke asụsụ C. Syntax Crystal dị nso, mana ọ dabara na Ruby, ọ bụ ezie na ụfọdụ mmemme Ruby na-agba ọsọ na-enweghị mgbanwe. Edere koodu nchịkọta ihe na Crystal wee kesaa n'okpuru ikike Apache 2.0.

Asụsụ ahụ na-eji nlele ụdị static, emejuputa atumatu na-enweghị mkpa ịkọwapụta nke ọma ụdị mgbanwe na arụmụka usoro dị na koodu. A na-achịkọta mmemme kristal n'ime faịlụ ndị enwere ike ịrụ ọrụ, na-enyocha macro yana koodu emepụtara n'oge a na-achịkọta. Na mmemme Crystal, ọ ga-ekwe omume ijikọ njikọ ndị edere na C. A na-eme usoro mmebe nke koodu site na iji okwu "spawn", nke na-enye gị ohere ịrụ ọrụ ndabere n'otu n'otu, na-enweghị igbochi isi eri, n'ụdị eriri dị arọ nke a na-akpọ eriri.

Ọbá akwụkwọ ọkọlọtọ na-enye nnukwu ọrụ ndị a na-ahụkarị, gụnyere ngwaọrụ maka nhazi CSV, YAML, na JSON, akụrụngwa maka ịmepụta sava HTTP, yana nkwado WebSocket. N'oge usoro mmepe, ọ dị mma iji iwu "crystal play", nke na-emepụta interface weebụ (localhost: 8080 site na ndabara) maka mmebe mmekọrịta nke koodu n'asụsụ Crystal.

Isi mgbanwe:

  • Onye nchịkọta agbakwunyela nlele maka ndekọrịta aha nke arụmụka na mmejuputa usoro nke abstract na nkọwa ya. Ọ bụrụ na enwere aha na-adaghị, a na-enye ịdọ aka ná ntị ugbu a: klas nkịtị FooAbstract def foo(nọmba: Int32): Nil end class Foo < FooAbstract def foo(aha : Int32) : Nil p aha njedebe njedebe 6 | def foo(aha : Int32): Nil ^ - Ịdọ aka ná ntị: paramita ọnọdụ 'aha' dabara na paramita 'nọmba' nke usoro a chụpụrụ FooAbstract#foo (nọmba: Int32), nke nwere aha dị iche ma nwee ike imetụta arụmụka aha ya na-agafe.
  • Mgbe ị na-ekenye arụmụka na usoro edeghị ede na uru nke mgbanwe, arụmụka a na-ejedebe ugbu a na ụdị mgbanwe ahụ. klas Foo @x : Int64 def initialize(x) @x = x # parameter x ga-apịnye @x njedebe
  • Na-enye gị ohere ịgbakwunye nkọwa na paramita nke ụzọ ma ọ bụ macros. def foo (@[MaybeUnused] x); ngwụcha # OK
  • Nkwado agbakwunyere maka iji nkwụsịtụ dị ka indices na aha na tuples. KEY = "s" foo = {s: "string", n: 0} na-etinye foo[KEY].size
  • Agbakwunyela ụzọ Faịlụ ọhụrụ#ehichapụ? na faịlụ API maka ihichapụ faịlụ na akwụkwọ ndekọ aha. na Dir#ehichapụ?, nke na-eweghachi ụgha ma ọ bụrụ na faịlụ ma ọ bụ ndekọ na-efu.
  • Nchedo nke usoro File.tempfile ka ewusiri ike, nke ugbu a anaghị ekwe ka mkpụrụ edemede efu na ahịrị ndị na-emepụta aha faịlụ ahụ.
  • mgbanwe gburugburu agbakwunyere NO_COLOR, nke na-eme ka agba pụta ìhè na mpụta mkpokọta na ntụgharị asụsụ.
  • Emeela ka ọrụ ntụgharị okwu ka mma nke ukwuu.

isi: opennet.ru

Tinye a comment