Famoahana ny fiteny fandaharana Crystal 1.5

Navoaka ny famoahana ny fiteny fandaharana Crystal 1.5, izay miezaka ny manambatra ny fampivoarana ny fiteny Ruby miaraka amin'ny fampiharana avo lenta amin'ny fiteny C ny mpamorona azy. Ny syntax an'ny Crystal dia akaiky, fa tsy mifanaraka tanteraka amin'i Ruby, na dia eo aza ny zava-misy fa ny programa ruby ​​​​dia mandeha tsy misy famerenana. Ny code compiler dia nosoratana tamin'ny Crystal ary zaraina amin'ny alΓ lan'ny lisansa Apache 2.0.

Ny fiteny dia mampiasa fanamarinana karazana static, ampiharina tsy mila mamaritra mazava ny karazana varimbazaha sy ny fomba tohan-kevitra ao amin'ny code. Ny programa kristaly dia natambatra ho rakitra azo tanterahana, miaraka amin'ny fanombanana macro sy famoronana kaody amin'ny fotoana fanangonana. Ao amin'ny programa Crystal, dia azo atao ny mampifandray ireo fatorana voasoratra amin'ny fiteny C. Ny fampifanarahana ny famonoana ny fehezan-dalΓ na dia atao amin'ny fampiasana ny teny fanalahidy "spawn", izay ahafahanao mampandeha asa any aoriana amin'ny fomba asynchronous, tsy manakana ny kofehy lehibe, amin'ny endrika kofehy maivana antsoina hoe fibre (Fibre).

Ny trano famakiam-boky manara-penitra dia manome andiana asa jeneraly marobe, ao anatin'izany ny fitaovana amin'ny fitantanana CSV, YAML, ary JSON, singa amin'ny fananganana server HTTP, ary fanohanana WebSocket. Mandritra ny dingan'ny fampandrosoana dia mety tsara ny mampiasa ny baiko "crystal play", izay mamorona interface web (localhost:8080 amin'ny alΓ lan'ny default) ho an'ny famonoana kaody interactive amin'ny fiteny Crystal.

Fiovana lehibe:

  • Ny compiler dia nanampy ny fanamarinana ny fifandraisana misy eo amin'ny anaran'ny hevitra amin'ny fampiharana ny fomba abstract sy ny famaritana azy. Ny tsy fitovian'ny anarana izao dia miteraka fampitandremana: class abstract FooAbstract abstract def foo(number : Int32) : Nil end class Foo < FooAbstract def foo(name: Int32): Nil p name end end 6 | def foo(name: Int32): Nil ^β€” Fampitandremana: 'anaran'ny paramΓ¨tre' dia mifanandrify amin'ny paramΓ¨tre 'numera' amin'ny fomba nolavina FooAbstract#foo(number: Int32), izay manana anarana hafa ary mety hisy fiantraikany amin'ny fandalovan'ny tohan-kevitra nomena.
  • Rehefa manendry ny sandan'ny variable ianao amin'ny tohan-kevitra amin'ny fomba tsy voatanisa, io hevitra io dia voafehin'ny karazana io fari-piainana io. class Foo @x : Int64 def initialize(x) @x = x # parameter x dia karazana @x end end
  • Afaka manampy fanamarihana amin'ny mason'ny fomba na macro. def foo(@[Mety tsy ampiasaina] x); farany#OK
  • Fanampiana fanampiny amin'ny fampiasana tsy miova ho indices sy anarana amin'ny tuple. KEY = "s" foo = {s: "String", n: 0} mametraka foo[KEY].size
  • Nampiana fomba vaovao File#delete? amin'ny File API ho famafana rakitra sy lahatahiry. ary Dir#delete?, izay miverina diso raha tsy misy ny rakitra na lahatahiry.
  • Nohamafisina ny fiarovana ny fomba File.tempfile, izay tsy mamela tarehintsoratra tsy misy dikany amin'ny tady mamorona anaran-drakitra.
  • Nampiana NO_COLOR ny fari-piainan'ny tontolo iainana mba hanesorana ny fanasongadinana loko amin'ny famoahana sy ny mpandika teny.
  • Nihatsara be ny asa amin'ny fomba mpandika teny.

Source: opennet.ru

Add a comment