Siideynta luuqadda barnaamijka Crystal 1.0 ayaa dhacay. Siideynta waxaa loo calaamadeeyay sii deynta ugu horreysa ee muhiimka ah, taas oo soo koobtay 8 sano oo shaqo ah waxayna calaamadisay xasilinta luqadda iyo u diyaargarowga isticmaalka mashaariicda shaqada. Laanta 1.x waxay ilaalin doontaa iswaafajinta gadaale waxayna hubin doontaa inaysan jirin isbeddelo lagu sameeyo luqadda ama maktabadda caadiga ah oo si xun u saameeya dhismaha iyo hawlgalka koodka jira.
Soo saarista 1.0.y waxaa ku jiri doona oo keliya hagaajin yar yar, halka noocyada 1.x.0 ay soo bandhigi doonaan shaqo cusub iyo isbeddello muhiim ah iyadoo la ilaalinayo iswaafajinta koodhka. Fikrado cusub iyo isbeddello aan iswaafaqsanayn ayaa lagu samayn doonaa laan gooni ah, taas oo hadhow saldhig u noqon doonta sii deynta Crystal 2.0. Qaar ka mid ah astaamaha Crystal 1.0 ayaa lagu dhawaaqay inay yihiin kuwo hordhac ah, inkastoo ay ku jiraan laanta 1.0, haddana laguma daboolayo taageero rasmi ah. Astaamahan waxaa ka mid ah akhrinta badan, taageerada madal, iyo Windows, loo isticmaalo nidaamyada leh hab-raacayaasha ARM.
Aynu dib u xasuusanno in horumarinta Crystal ay isku dayayaan inay ku daraan ku habboonaanta horumarka luqadda Ruby iyo waxqabadka sare ee codsiga ee ku jira luqadda C. Ereyga Crystal wuxuu ku dhow yahay, laakiin aan si buuxda ula socon Ruby, inkasta oo barnaamijyada Ruby qaarkood ay shaqeeyaan iyada oo aan wax laga beddelin. Koodhka isku-dubaridku wuxuu ku qoran yahay Crystal waxaana lagu qaybiyaa shatiga Apache 2.0.
Luqadda waxay isticmaashaa hubinta nooca taagan, oo la fuliyay iyada oo aan loo baahnayn in si cad loo qeexo noocyada doorsoomayaasha iyo habka doodaha ee koodka. Barnaamijyada Crystal waxa lagu ururiyay faylal la fulin karo, oo macros la qiimeeyay iyo kood la sameeyay wakhtiga la ururiyay. Barnaamijyada Crystal, waxaa suurtagal ah in lagu xiro xirmooyinka ku qoran C. Isbarbardhigga fulinta koodka waxaa lagu fuliyaa iyadoo la adeegsanayo ereyga muhiimka ah ee "spawn", kaas oo kuu oggolaanaya inaad si aan toos ahayn u socodsiiso hawsha asalka ah, iyada oo aan la xannibin dunta ugu weyn, oo ah qaab khafiif ah oo loo yaqaan 'fibers'.
Maktabadda caadiga ah waxay bixisaa hawlo badan oo caadi ah, oo ay ku jiraan qalabka lagu farsameeyo CSV, YAML, iyo JSON, qaybaha abuurista server-yada HTTP, iyo taageerada WebSocket. Inta lagu jiro habka horumarinta, way ku habboon tahay in la isticmaalo amarka "crystal play", kaas oo soo saara interface web (localhost: 8080 by default) ee fulinta isdhexgalka ee code ee luqadda Crystal.
Isbeddellada ugu waaweyn:
- Tuples waxay u oggolaataa helitaanka jaantuska leh ee curiyeyaasha noocyo kala duwan ah sababtoo ah iskudubariduhu wuu yaqaanaa nooca shay kastaa yahay. Tusaale ahaan: tuple = {1, "hello", 'x'} v = tuple[0..1] # soo celin doona {1, "hello"} typeof(v) # => Tuple(Int32, String)
- Xargaha iyo xarfaha xarfaha ma oggola isticmaalka soo gaabinta beddelka ah ee taxanaha baxsan ee Unicode sida "\uD834". Si loo codeeyo qiyamka aan sabab lahayn, isticmaal calaamadda "\ x".
- Maktabadda caadiga ah, qayb weyn oo qeexitaanno ah, macros, iyo habab hore loogu calaamadiyay inay duugoobeen ayaa meesha laga saaray. Oo ay ku jiraan hababka Dejinta, StaticArray#[], YAML.new, HTTP :: Codsiga, HTTP :: WebSocket, Hash#delete_if, Process#dill, iwm.
- Geter iyo macro-guriga hadda waxay u baahan yihiin nooca soo celinta in la cayimo.
- Habka wareega ee caadiga ah waxaa loo bedelay TIES_EVEN ("wareega bangiga", ilaa tirada ugu dhow, iyo xaaladaha xadka ilaa lambarka xitaa ugu dhow). Halbeegga RondingMode ayaa lagu daray Number#round, taasoo kuu ogolaanaysa inaad doorato habka wareega. Hababka la heli karo waxaa ka mid ah: TIES_EVEN, TIES_AWAY, TO_ZERO, TO_POSITIVE, TO_NEGATIVE.
- Tiro la tirin karo #map_flat iyo Iterator#flat_map waxay la shaqeeyaan curiyayaasha noocyada isku dhafan ee ururinta.
- Taxane taxanaha Enum hadda waxay isticmaashaa matalada xargaha hoosta.
- Noocyada lagu qeexay moduleka XML waa laga raray adeegsiga qaab-dhismeedka loona guuray fasalka.
- Sababo amni awgood, furfuridda magacyada buskudka, iyo sidoo kale habaynta iyo furfuridda qiimaha buskudka, waa la joojiyay (dib-u-habaynta hadda waa mas'uuliyadda qaab-dhismeedka iyo codsiyada). Habka HTTP::Cookies.from_headers waxaa loo qaybiyay laba nooc oo loogu talagalay adeegayaasha iyo macaamiisha.
Source: opennet.ru
