ΠŸΡƒΡΠΊΠ°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Hare 0.26

Π”Ρ€ΡŽ Π”Π΅Π’ΠΎΠ»Ρ‚ (Drew DeVault), Π°Π²Ρ‚ΠΎΡ€ Π½Π° потрСбитСлската срСда Sway, ΠΈΠΌΠ΅ΠΉΠ» ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Aerc ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π·Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° SourceHut, ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° вСрсия 0.26.0 Π½Π° програмния Π΅Π·ΠΈΠΊ Hare. Hare сС прСдставя ΠΊΠ°Ρ‚ΠΎ систСмСн ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Π½ Π΅Π·ΠΈΠΊ, близък Π΄ΠΎ C, Π½ΠΎ ΠΏΠΎ-лСсСн ΠΎΡ‚ Π½Π΅Π³ΠΎ. Π˜Π·Ρ…ΠΎΠ΄Π½ΠΈΡΡ‚ ΠΊΠΎΠ΄ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° ΠΈ инструмСнти сС разпространяват ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π· GPLv3, Π° ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π· MPL (Mozilla Public License).

Π•Π·ΠΈΠΊΡŠΡ‚ Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ниско Π½ΠΈΠ²ΠΎ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми, ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΠΈ, ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ прилоТСния ΠΈ систСмни ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° максимална производитСлност ΠΈ пълСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π²ΡŠΡ€Ρ…Ρƒ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ. Π’ Π΅Π·ΠΈΠΊΠ° сС ΠΏΡ€ΠΈΠ»Π°Π³Π° Ρ€ΡŠΡ‡Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ статична Ρ‚ΠΈΠΏΠΎΠ²Π° систСма, ΠΏΡ€ΠΈ която всяка ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ясно трябва Π΄Π° бъдС Π·Π°Π΄Π°Π΄Π΅Π½Π° с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Ρ‚ΠΈΠΏ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈΠ΄Π²Π° с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ runtime, Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прСдоставя Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ основнитС интСрфСйси Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚ΠΈΠΏΠΎΠ²ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ срСдства Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅. Π—Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ прилоТСния сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡƒΠΌΡŠΡ‚ hare-wayland, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° GTK, Vulkan, OpenGL, SDL3 ΠΈ libui.

Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия:

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ конструкцията Π½Π° Ρ†ΠΈΠΊΡŠΠ»Π° β€žfor(…){…} else {…}β€œ ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ†ΠΈΠΊΡŠΠ»ΡŠΡ‚ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Ρ€Π°Π· Π·Π° присвояванС Π½Π° стойност Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° β€žitem = for(…){…}β€œ. Бтойността, която Ρ‰Π΅ бъдС присвоСна Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π²ΡŠΡ€Π½Π°Ρ‚Π° ΠΏΡ€ΠΈ прСкратяванС Π½Π° Ρ†ΠΈΠΊΡŠΠ»Π° Ρ‡Ρ€Π΅Π· ΠΈΠ·Ρ€Π°Π·Π° β€žbreak ΡΡ‚ΠΎΠΉΠ½ΠΎΡΡ‚β€œ ΠΈΠ»ΠΈ Ρ‡Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° β€žyield стойност_ΠΏΠΎ_ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽβ€œ Π² прикрСпСния към Ρ†ΠΈΠΊΡŠΠ»Π° Π±Π»ΠΎΠΊ β€želse{…}β€œ, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π°, Π°ΠΊΠΎ Ρ†ΠΈΠΊΡŠΠ»ΡŠΡ‚ Π½Π΅ Π΅ Π±ΠΈΠ» ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½ Ρ‡Ρ€Π΅Π· break. const item = for (let sample .. items) { if (item.key == key) { break item; }; } else { yield -1; };
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° присвояванС Π½Π° стойността β€ž_β€œ Π·Π° ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ (Π² случай Π½Π° Π³Ρ€Π΅ΡˆΠΊΠ° няма Π΄Π° възникнС assertion). _ = os::remove(β€ž/some/fileβ€œ);
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° стойността β€ž_β€œ Π·Π° създаванС Π½Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΈ ΠΏΠΎΠ»Π΅Ρ‚Π° Π² структури. Π’Π΅Π·ΠΈ ΠΏΠΎΠ»Π΅Ρ‚Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ запълванС. export type my_struct = struct @packed { x: u32, // offset: 0 _: u8, // offset: 4 y: u64, // offset: 5 };
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° явно оставянС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ ΠΏΠΎΠ»Π΅Ρ‚Π° Π² структури Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Ρ‡Ρ€Π΅Π· присвояванСто ΠΈΠΌ Π½Π° стойност Β«@undefinedΒ», Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π°. ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° Π΅Π·ΠΈΠΊΡŠΡ‚ изисквашС всички Π»ΠΎΠΊΠ°Π»Π½ΠΈ ΠΈ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈΠΌ. ΠžΡΡ‚Π°Π²ΡΠ½Π΅Ρ‚ΠΎ Π² Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° трябва Π΄Π° бъдС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π½Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° обявяванСто, Π° ΠΏΠΎ-късно, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π° функция сС ΠΏΠΎΠ΄Π°Π²Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π» към ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°, която Ρ‚Π°Π·ΠΈ функция трябва Π΄Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°. let x: my_object = @undefined;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма Dragonfly BSD. По-Ρ€Π°Π½ΠΎ бяха ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ Linux, FreeBSD, NetBSD ΠΈ OpenBSD.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster