Ukukhishwa kolimi lohlelo lweCrystal 1.2

Ukukhishwa kolimi lohlelo lwe-Crystal 1.2 kushicilelwe, abathuthukisi balo abazama ukuhlanganisa ukunethezeka kwentuthuko ngolimi lwesiRuby nesici sokusebenza esiphezulu solimi C. I-syntax ye-Crystal iseduze, kodwa ayihambisani ngokugcwele ne-Ruby, nakuba ezinye izinhlelo ze-Ruby zisebenza ngaphandle kokuguqulwa. Ikhodi yokuhlanganisa ibhalwe nge-Crystal futhi isatshalaliswa ngaphansi kwelayisensi ye-Apache 2.0.

Ulimi lisebenzisa ukuhlola kohlobo olungaguquki, okusetshenziswa ngaphandle kwesidingo sokucacisa ngokusobala izinhlobo zokuguquguquka nama-agumenti endlela kukhodi. Izinhlelo ze-Crystal zihlanganiswa zibe amafayela asebenzisekayo, nama-macros ahloliwe kanye nekhodi ekhiqizwa ngesikhathi sokuhlanganisa. Ezinhlelweni zeCrystal, kungenzeka ukuxhuma izibopho ezibhalwe ngo-C. Ukufana kokwenziwa kwekhodi kwenziwa kusetshenziswa igama elingukhiye elithi "spawn", elikuvumela ukuthi uqhube umsebenzi wangemuva ngokulinganayo, ngaphandle kokuvimba intambo eyinhloko, ngendlela yezintambo ezingasindi ezibizwa ngokuthi amafiber.

Umtapo wolwazi ojwayelekile uhlinzeka ngesethi enkulu yemisebenzi evamile, okufaka amathuluzi okucubungula i-CSV, i-YAML, ne-JSON, izingxenye zokudala amaseva e-HTTP, nosekelo lwe-WebSocket. Phakathi nenqubo yokuthuthukisa, kulula ukusebenzisa umyalo "we-crystal play", okhiqiza isixhumi esibonakalayo sewebhu (localhost:8080 ngokuzenzakalelayo) ukuze kwenziwe ngokuhlanganyela ikhodi ngolimi lwe-Crystal.

Izinguquko eziyinhloko:

  • Kwengezwe ikhono lokunikeza isigaba esingaphansi sekilasi elijwayelekile into yekilasi labazali. ikilasi Foo(T); Ibha yesigaba sokugcina (T) < Foo(T); ukuphela x = Foo x = Ibha
  • Amamakhro manje angasebenzisa i-underscore ukuze azibe inani ku-loop. {% kokuthi _, v, i ku-{1 => 2, 3 => 4, 5 => 6} %} p {{v + i}} {% end %}
  • Kwengezwe indlela ethi β€œfile_exists?” kumamakhro. ukuhlola ubukhona befayela.
  • Umtapo wolwazi ojwayelekile manje ususekela izinombolo ezingu-128-bit.
  • Kwengezwe Inkomba::Imojula eguquguqukayo(T) esebenzisa imisebenzi ethuthukisiwe yamaqoqo afana ne-BitArray ne-Deque. ba = BitArray.new(10) # ba = BitArray[0000000000] ba[0] = iqiniso # ba = BitArray[1000000000] ba.rotate!(-1) # ba = BitArray[0100000000]
  • Kwengezwe i-XML::Node#namespace_definition indlela yokukhipha indawo yegama ethile ku-XML.
  • Izindlela ze-IO#write_utf8 kanye ne-URI.encode zehlisiwe futhi kufanele zithathelwe indawo yi-IO#write_string kanye ne-URI.encode_path.
  • Ukusekelwa kwezakhiwo ezingama-32-bit x86 kuyiswe kuleveli yesibili (amaphakheji enziwe ngomumo awasakhiqizwa). Ukudluliselwa ezingeni lokuqala losekelo lwezakhiwo ze-ARM64 kuyalungiswa.
  • Umsebenzi uyaqhubeka ukuqinisekisa ukwesekwa okugcwele kwenkundla yeWindows. Ukwesekwa okwengeziwe kwamasokhethi e-Windows.
  • Kungezwe iphakheji yendawo yonke ye-macOS, esebenza womabili kumadivayisi anama-x86 processors nakumishini ene-Apple M1 chip.

Source: opennet.ru

Engeza amazwana