Basa pamrograman Crystal 1.0 kasedhiya

Rilis basa pamrograman Crystal 1.0 dumadi. Rilis kasebut ditandhani minangka rilis penting pisanan, sing nyimpulake 8 taun kerja lan menehi tandha stabilisasi basa lan kesiapan kanggo digunakake ing proyek kerja. Cabang 1.x bakal njaga kompatibilitas mundur lan mesthekake yen ora ana owah-owahan ing basa utawa perpustakaan standar sing mengaruhi mbangun lan operasi kode sing ana.

Rilis 1.0.y mung bakal kalebu perbaikan cilik, dene versi 1.x.0 bakal ngenalake fungsi anyar lan owah-owahan sing signifikan nalika njaga kompatibilitas kode. Ide-ide anyar lan owah-owahan sing bisa uga ora kompatibel bakal dikembangake ing cabang sing kapisah, sing mengko bakal dadi dhasar kanggo rilis Crystal 2.0. Sawetara fitur Crystal 1.0 diumumake minangka awal lan, sanajan ana ing cabang 1.0, ora dilindhungi dening dhukungan resmi. Fitur-fitur kasebut kalebu multithreading, dhukungan platform, lan Windows, digunakake ing sistem nganggo prosesor ARM.

Elinga yen pangembang Crystal nyoba nggabungake kenyamanan pembangunan ing basa Ruby kanthi kinerja aplikasi sing dhuwur ing basa C. Sintaksis Crystal cedhak, nanging ora kompatibel karo, Ruby, sanajan sawetara program Ruby mbukak tanpa modifikasi. Kode kompiler ditulis ing Crystal lan disebarake miturut lisensi Apache 2.0.

Basa kasebut nggunakake pamriksa jinis statis, dileksanakake tanpa kudu nemtokake kanthi jelas jinis variabel lan argumen metode ing kode kasebut. Program kristal dikompilasi dadi file sing bisa dieksekusi, kanthi makro dievaluasi lan kode digawe nalika kompilasi. Ing program Crystal, sampeyan bisa nyambungake bindings sing ditulis ing C. Paralelisasi eksekusi kode ditindakake kanthi nggunakake tembung kunci "spawn", sing ngidini sampeyan nglakokake tugas latar mburi kanthi ora sinkron, tanpa ngalangi utas utama, ing wangun benang entheng sing diarani serat.

Pustaka standar nyedhiyakake akeh fungsi umum, kalebu alat kanggo ngolah CSV, YAML, lan JSON, komponen kanggo nggawe server HTTP, lan dhukungan WebSocket. Sajrone proses pangembangan, trep nggunakake printah "play kristal", sing ngasilake antarmuka web (localhost: 8080 minangka standar) kanggo eksekusi kode interaktif ing basa Crystal.

Owah-owahan utama:

  • Tuples ngidini akses sing diindeks menyang unsur saka macem-macem jinis amarga compiler ngerti apa jinis saben unsur. Contone: tuple = {1, "hello", 'x'} v = tuple[0..1] # bakal bali {1, "halo"} typeof(v) # => Tuple(Int32, String)
  • String lan karakter literal ora ngidini panggunaan singkatan pengganti ing urutan uwal Unicode kayata "\uD834". Kanggo ngode nilai sing sembarang, gunakake notasi "\x".
  • Ing perpustakaan standar, bagean gedhe saka definisi, makro, lan cara sing sadurunge ditandhani minangka lungse wis dibusak. Kalebu metode Set, StaticArray#[], YAML.new, HTTP:: Request, HTTP::WebSocket, Hash#delete_if, Process#kill, etc.
  • Makro getter lan properti saiki mbutuhake jinis bali sing ditemtokake.
  • Cara pembulatan standar wis diganti dadi TIES_EVEN ("pembulatan bank", menyang integer sing paling cedhak, lan kanggo kahanan garis wates menyang nomer genap sing paling cedhak). Parameter RoundingMode wis ditambahake menyang Number#round, ngidini sampeyan milih cara pembulatan. Cara sing kasedhiya kalebu: TIES_EVEN, TIES_AWAY, TO_ZERO, TO_POSITIVE, TO_NEGATIVE.
  • Enumerable#flat_map lan Iterator#flat_map dianggo karo unsur jinis campuran ing koleksi.
  • Serialisasi saka urutan Enum saiki nggunakake representasi string underscore.
  • Jinis sing ditetepake ing modul XML wis dipindhah saka nggunakake struct kanggo kelas.
  • Amarga alasan keamanan, dekoding jeneng cookie, uga encoding lan dekoding nilai cookie, wis dihentikan (recoding saiki dadi tanggung jawab framework lan aplikasi). Metode HTTP::Cookies.from_headers wis dipérang dadi rong varian kanggo server lan klien.

Source: opennet.ru

Tuku hosting sing dipercaya kanggo situs kanthi proteksi DDoS, server VPS VDS 🔥 Tuku hosting situs web sing bisa dipercaya nganggo proteksi DDoS, server VPS VDS | ProHoster