O le faʻasalalauga o le Crystal 1.16 polokalame polokalame ua faʻasalalau, o loʻo taumafai le au atinaʻe e tuʻufaʻatasia le faʻaogaina o le atinaʻe i le gagana Ruby ma le maualuga o le faʻatinoga o le faʻatinoga o le gagana C. O le syntax a Crystal e latalata i, ae le fetaui atoatoa ma, Ruby, e ui o nisi polokalame Ruby e tamoe e aunoa ma se suiga. O le code compiler o loʻo tusia i Crystal ma tufatufaina i lalo o le laisene Apache 2.0.
E fa'aogaina e le gagana su'esu'ega fa'apitoa, lea e fa'atinoina e aunoa ma le mana'omia o le fa'ailoa manino mai o ituaiga o fesuiaiga ma metotia fa'aupuga i le code. O polokalame tioata e tu'ufa'atasia i faila e mafai ona fa'atinoina, fa'atasi ai ma macros e iloiloina ma fa'atupuina fa'ailoga ile taimi fa'aopoopo. I polokalame Crystal, e mafai ona faʻafesoʻotaʻi fusi o loʻo tusia i le C. Faʻataʻitaʻiga o le faʻatinoina o tulafono e faʻaaogaina e faʻaaoga ai le upu "spawn", lea e mafai ai e oe ona faʻatautaia se galuega i tua i le asynchronous mode e aunoa ma le polokaina o le filo autu, i foliga o filo mama mama e taʻua o filo.
O le faletusi masani e maua ai se seti o galuega masani, e aofia ai meafaigaluega mo le faʻaogaina o le CSV, YAML, ma le JSON, vaega mo le fatuina o HTTP servers ma le WebSocket support. I le taimi o le atinaʻe, e mafai ona e faʻaogaina le "crystal play" faʻatonuga, lea e faʻatupuina ai se upega tafaʻilagi (localhost: 8080 e le mafai) mo le faʻaogaina o le Crystal code.
Suiga autu:
- Fa'aopoopoina le lagolago fa'ata'ita'i mo le fa'agaioia o filo mama (fiber) i fa'asologa o fa'atinoga eseese (Execution Contexts), lea e mafai ai ona sili atu le lelei o le fa'atinoina o galuega - o le polokaina o filo i se tasi tulaga e le o'o atu ai i le fa'ataunu'uina o le isi. mt_context = Fiber::ExecutionContext::MultiThreaded.new("worker-threads", 4) 10.times do mt_context.spawn do do_something end end gtk = Fiber::ExecutionContext::Isolated.new("Gtk") do gtk.main end
- O le Slice.literal method ua maua nei le ituaiga inference mo elemene o loʻo i totonu o se fasi pepa, ma faʻaopoopoina le lagolago mo le galue i se faʻamatala.
- Ole tele ma le fa'aogaina o macros e maua ai fa'amatalaga e uiga i ituaiga mautu.
- Ua fa'aopoopoina auala fou i le faletusi masani: Fa'asinomaga#saili, #saili!, EventLoop#faatali_faitau, ma #faatali_tusi.
- O le tuʻufaʻatasia o loʻo i ai se umi umi o le "-o" filifiliga, "--output", ma le mafai ona faʻamaonia se lisi nai lo se faila ua faʻatinoina (o le igoa faila o le a filifilia e tusa ai ma le igoa o le faila ma le code).
- O le gaosiga o faʻamaumauga o loʻo i ai nei le malosi e aofia ai mea faʻapitoa ma puipuia, faʻapea foʻi ma mea i totonu o le faletusi (lib, fun, union, cstruct, external, type) i totonu o faʻamaumauga.
- I le "File.match?" auala Ua faʻatinoina se algorithm faʻafetaui ala faila fou, lea na faʻaumatia ai nisi faʻafitauli ma tapulaʻa. Mo se faʻataʻitaʻiga, sola ese tagata (o le "\\t" mask e fetaui ma le "\t" ae le o le "t" character), vaeluaga o le ala (o le "a**" mask e fetaui ma le "ab" ae le mafai mo le "ab/c", ae o le "**/a" mask e fetaui ma le "a"), faʻapipiʻi mamanu (o le "{[}]}" mask e fetaui ma le "}"), ma laina (o le "[-])" ua fetaui lelei.
- O suffix "?" ua fa'ate'aina i igoa o fa'au'uga i fa'auigaga (defs), macros, ma poloka. Ma "!".
- I le Enumerable#sum and #product method, o le fa'ai'uga otometi o le ituaiga toe fa'afo'i ua aveese pe afai o le elemene elemene o se fa'atasi. Pe a valaʻau i nei metotia, e tatau nei ona e faʻamaonia manino le ituaiga, mo se faʻataʻitaʻiga, nai lo le "[1, 10000000000_u64].sum" e tatau ona e tusia "[1, 10000000000_u64].sum(0_u64)".
- HTTP :: Talosaga e fa'amautinoa le sa'o o le fa'avasegaina o vaega URL.
- Faʻaopoopo le lagolago mo le LLVM 20 compiler suite.
- O le telefoni i le LLVM::ABI ma le LLVM::TargetMachine#abi ua le toe faaaogaina.
puna: opennet.ru
