Ukukhutshwa kolwimi lwenkqubo yeCrystal 1.2

Ukukhutshwa kweCrystal 1.2 ulwimi lwenkqubo luye lwapapashwa, abaphuhlisi abazama ukudibanisa ukulungelelaniswa kophuhliso ngolwimi lwesiRuby kunye neempawu eziphezulu zokusebenza kolwimi lweC. I-syntax yeCrystal isondele, kodwa ayihambelani ngokupheleleyo ne-Ruby, nangona ezinye iinkqubo zeRuby zisebenza ngaphandle kokuguqulwa. Ikhowudi yokudibanisa ibhalwe kwiCrystal kwaye isasazwe phantsi kwelayisensi ye-Apache 2.0.

Ulwimi lusebenzisa ukujonga uhlobo lwe-static, luphunyezwe ngaphandle kwesidingo sokucacisa ngokucacileyo iindidi zeendlela kunye neengxabano zendlela kwikhowudi. Iiprogram zeCrystal zihlanganiswe kwiifayile eziphunyezwayo, kunye ne-macros evavanyiweyo kunye nekhowudi eyenziwe ngexesha lokuqokelela. Kwiinkqubo zeCrystal, kuyenzeka ukudibanisa izibophelelo ezibhalwe kwiC. Ukuhambelana kokusetyenziswa kwekhowudi kuqhutyelwa ngokusebenzisa igama elingundoqo elithi "spawn", elikuvumela ukuba uqhube umsebenzi wangemva ngokulandelelana, ngaphandle kokuthintela intambo ephambili, ngendlela yeentambo ezilula ezibizwa ngokuba yi-fibers.

Ilayibrari eqhelekileyo ibonelela ngesethi enkulu yemisebenzi eqhelekileyo, kubandakanywa nezixhobo zokucubungula i-CSV, i-YAML, kunye ne-JSON, amacandelo okudala iiseva ze-HTTP, kunye nenkxaso yeWebSocket. Ngethuba lenkqubo yophuhliso, kukulungele ukusebenzisa umyalelo "we-crystal play", ovelisa i-interface yewebhu (localhost: 8080 ngokungagqibekanga) ekusebenzeni ngokubambisana kwekhowudi ngolwimi lweCrystal.

Utshintsho oluphambili:

  • Kongezwe ukukwazi ukwabela udidi oluphantsi lweklasi eqhelekileyo kwinto yeklasi yomzali. iklasi Foo(T); Ibha yeklasi yokuphela (T) < Foo(T); isiphelo x = Foo x = Ibha
  • IiMacros ngoku zinokusebenzisa i-underscore ukungahoyi ixabiso kwi-loop. {% ye _, v, i kwi {1 => 2, 3 => 4, 5 => 6} %} p {{v + i}} {% isiphelo %}
  • Yongezwe "ifayile_exists?" indlela kwiimacros. ukukhangela ubukho befayile.
  • Ithala leencwadi elisemgangathweni ngoku lixhasa i-128-bit integers.
  • Ukongezwa kweSalathiso::Imodyuli eGuquguqukayo (T) ngokuphunyezwa kwemisebenzi ephucukileyo yokuqokelela njengeBitArray kunye neDeque. ba = BitArray.new(10) # ba = BitArray[0000000000] ba[0] = yinyani # ba = BitArray[1000000000] ba.rotate!(-1) # ba = BitArray[0100000000]
  • I-XML eyongeziweyo::I-Node#isithuba_indlela_yenkcazelo yokukhupha isithuba segama elithile kwi-XML.
  • Indlela ye-IO#write_utf8 kunye ne-URI.encode ziyekisiwe kwaye kufuneka kufakwe endaweni yayo yi-IO#write_string kunye ne-URI.encode_path.
  • Inkxaso ye-32-bit x86 ye-architecture ihanjiswe kwinqanaba lesibini (iiphakheji ezisele zenziwe azisaveliswa). Ukutshintshela kwinqanaba lokuqala lenkxaso yoyilo lwe-ARM64 luyalungiswa.
  • Umsebenzi uyaqhubeka ukuqinisekisa inkxaso epheleleyo yeqonga leWindows. Inkxaso eyongeziweyo yeesokethi zeWindows.
  • Iphakheji yendawo yonke yongezwe kwi-macOS, isebenza zombini kwizixhobo ezineprosesa ze-x86 kunye nezixhobo ezine-Apple M1 chip.

umthombo: opennet.ru

Yongeza izimvo