ИздаванС Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Ruby 3.1

Π‘Π΅ΡˆΠ΅ пуснат Ruby 3.1.0, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅Π½ ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ Π΅Π·ΠΈΠΊ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ високоСфСктивСн ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ характСристики Π½Π° Perl, Java, Python, Smalltalk, Eiffel, Ada ΠΈ Lisp. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сС разпространява ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ‚Π΅ BSD (β€ž2-clause BSDLβ€œ) ΠΈ β€žRubyβ€œ, ΠΊΠΎΠ΅Ρ‚ΠΎ сС отнася Π΄ΠΎ Π½Π°ΠΉ-Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° GPL Π»ΠΈΡ†Π΅Π½Π·Π° ΠΈ Π΅ напълно ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎ с GPLv3.

Основни подобрСния:

  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² СкспСримСнталСн JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€, YJIT, създадСн ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π·Π° Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Π° Ρ‚ΡŠΡ€Π³ΠΎΠ²ΠΈΡ Shopify ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π° Π·Π° подобряванС Π½Π° производитСлността Π½Π° Ruby ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π½Π° Rails ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ. ΠšΠ»ΡŽΡ‡ΠΎΠ²Π°Ρ‚Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ използвания ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° MJIT JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€, ΠΊΠΎΠΉΡ‚ΠΎ сС основава Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ†Π΅Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° външСн ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ Π½Π° Π΅Π·ΠΈΠΊΠ° C, Π΅, Ρ‡Π΅ YJIT ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Lazy Basic Block Versioning (LBBV) ΠΈ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€. Π‘ LBBV, JIT ΠΏΡŠΡ€Π²ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π° само Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π° останалата част извСстно Π²Ρ€Π΅ΠΌΠ΅ ΠΏΠΎ-късно, слСд ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ са ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС. ΠŸΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° YJIT бСшС рСгистрирано 22% ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° производитСлността ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° тСста Π½Π° railsbench ΠΈ 39% ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ тСста Π·Π° Ρ‚Π΅Ρ‡Π½ΠΎ Ρ€Π΅Π½Π΄ΠΈΡ€Π°Π½Π΅. ΠŸΠΎΠ½Π°ΡΡ‚ΠΎΡΡ‰Π΅ΠΌ YJIT Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π΄ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми Π½Π° систСми с x86-64 Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ Π΅ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ (Π·Π° Π΄Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅, посочСтС Ρ„Π»Π°Π³Π° β€ž--yjitβ€œ Π² командния Ρ€Π΅Π΄).
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° производитСлност Π½Π° стария MJIT JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€. Π—Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ Rails, максималният Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° кСша ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ (--jit-max-cache) Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ ΠΎΡ‚ 100 Π½Π° 10000 1000 инструкции. Бпря ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° JIT Π·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ с ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ XNUMX инструкции. Π—Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Zeitwerk of Rails, JIT ΠΊΠΎΠ΄ΡŠΡ‚ Π²Π΅Ρ‡Π΅ Π½Π΅ сС ΠΈΠ·Ρ…Π²ΡŠΡ€Π»Ρ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ TracePoint Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ Π·Π° класови ΡΡŠΠ±ΠΈΡ‚ΠΈΡ.
  • Π’ΠΎΠΉ Π²ΠΊΠ»ΡŽΡ‡Π²Π° напълно прСнаписан Π΄Π΅Π±ΡŠΠ³Π΅Ρ€ debug.gem, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΎ отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, Π½Π΅ забавя Π΄Π΅Π±ΡŠΠ³Π²Π°Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° интСграция с Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ интСрфСйси Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ (VSCode ΠΈ Chrome), ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° многонишкови ΠΈ многопроцСсни прилоТСния, прСдоставя интСрфСйс Π·Π° изпълнСниС Π½Π° ΠΊΠΎΠ΄ REPL, ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° прослСдяванС, ΠΌΠΎΠΆΠ΅ Π΄Π° записва ΠΈ Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π½ΠΈΡΡ‚ ΠΏΠΎ-Ρ€Π°Π½ΠΎ Π΄Π΅Π±ΡŠΠ³Π΅Ρ€ lib/debug.rb Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ ΠΎΡ‚ основното разпространСниС.
    ИздаванС Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Ruby 3.1
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»Π½ΠΎ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π²Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈΡ‚Π΅ Π·Π° прослСдяванС Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅. ΠœΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ сС прСдоставя с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° вградСния ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ gem ΠΏΠ°ΠΊΠ΅Ρ‚ error_highlight. Π—Π° Π΄Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ настройката β€ž--disable-error_highlightβ€œ. $ ruby ​​​​test.rb test.rb:1:in " ": Π½Π΅Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ "Π²Ρ€Π΅ΠΌΠ΅" Π·Π° 1:Цяло число (NoMethodError) 1.Π²Ρ€Π΅ΠΌΠ΅ {} ^^^^^ Π˜ΠΌΠ°Ρ…Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄? ΠΏΡŠΡ‚ΠΈ
  • ΠžΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π° Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ изчислСния IRB (REPL, Read-Eval-Print-Loop) Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ попълванС Π½Π° въвСдСния ΠΊΠΎΠ΄ (Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ сС ΠΏΠΎΠΊΠ°Π·Π²Π° подсказка с ΠΎΠΏΡ†ΠΈΠΈ Π·Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Π½Π΅ Π½Π° Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ, ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС Π΄Π²ΠΈΠΆΠΈΡ‚Π΅ с Tab ΠΈΠ»ΠΈ Shift+ клавиш Tab). Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ опцията Π·Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ΅Π½ΠΈΠ΅, Π½Π°Π±Π»ΠΈΠ·ΠΎ сС ΠΏΠΎΠΊΠ°Π·Π²Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ² ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° докумСнтацията, ΡΠ²ΡŠΡ€Π·Π°Π½Π° с избрания Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚. ΠšΠ»Π°Π²ΠΈΡˆΠ½Π°Ρ‚Π° комбинация Alt+d ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΡŠΠ»Π½Π°Ρ‚Π° докумСнтация.
    ИздаванС Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Ruby 3.1
  • Π‘ΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡΡŠΡ‚ Π½Π° Π΅Π·ΠΈΠΊΠ° Π²Π΅Ρ‡Π΅ позволява пропусканСто Π½Π° стойности Π² Ρ…Π΅Ρˆ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΈ ΠΈ ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ ΠΏΡ€ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НапримСр, вмСсто ΠΈΠ·Ρ€Π°Π·Π° β€œ{x: x, y: y}” Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° посочитС β€œ{x:, y:}”, Π° вмСсто β€œfoo(x: x, y: y)” - foo( x:, y: )".
  • Π‘Ρ‚Π°Π±ΠΈΠ»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π΅Π΄Π½ΠΎΡ€Π΅Π΄ΠΎΠ²ΠΈ съвпадСния Π½Π° шаблони (ary => [x, y, z]), ΠΊΠΎΠΈΡ‚ΠΎ Π²Π΅Ρ‡Π΅ Π½Π΅ са ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ СкспСримСнтални.
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ "^" Π² ΡΡŠΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡΡ‚Π° Π½Π° шаблони Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Prime.each_cons(2).lazy.find_all{_1 Π² [n, ^(n + 2)]}.take(3).to_a #= > ? [[3, 5], [5, 7], [11, 13]]
  • ΠŸΡ€ΠΈ Π΅Π΄Π½ΠΎΡ€Π΅Π΄ΠΎΠ²ΠΈ съвпадСния Π½Π° шаблони ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° пропуснСтС скобитС: [0, 1] => _, x {y: 2} => y: x #=> 1 y #=> 2
  • Π•Π·ΠΈΠΊΡŠΡ‚ Π·Π° Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π½Π° Ρ‚ΠΈΠΏΠ° RBS, ΠΊΠΎΠΉΡ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ структурата Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π΅, ΠΈΠΌΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π³ΠΎΡ€Π½Π°Ρ‚Π° Π³Ρ€Π°Π½ΠΈΡ†Π° Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΈΠΏΠ° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° символа β€ž<β€œ, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° псСвдоними Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ‡Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΡŠΠΏΠΎΡ†Π΅Π½Π½ΠΈ камъни, ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° производитСлност ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΈ сигнатури Π·Π° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΈ стандартни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.
  • ЕкспСримСнтална ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½ΠΈ срСди Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° към Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° Π½Π° статични Ρ‚ΠΈΠΏΠΎΠ²Π΅ TypePro, ΠΊΠΎΠΉΡ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° RBS Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ въз основа Π½Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΊΠΎΠ΄ Π±Π΅Π· ΠΈΠ·Ρ€ΠΈΡ‡Π½Π° информация Π·Π° Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½Π° Π΅ Π΄ΠΎΠ±Π°Π²ΠΊΠ° Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° TypePro с Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VSCode).
  • Π Π΅Π΄ΡŠΡ‚ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° мноТСство Π·Π°Π΄Π°Ρ‡ΠΈ Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½. НапримСр, ΠΏΠΎ-Ρ€Π°Π½ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° ΠΈΠ·Ρ€Π°Π·Π° β€žfoo[0], bar[0] = baz, qux” бяха ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ Π² Ρ€Π΅Π΄ baz, qux, foo, bar, Π½ΠΎ сСга foo, bar, baz, qux.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ СкспСримСнтална ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° разпрСдСлянС Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ Π·Π° Π½ΠΈΠ·ΠΎΠ²Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° VWA (Π Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΡˆΠΈΡ€ΠΈΠ½Π°).
  • Актуализирани вСрсии Π½Π° Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈΡ‚Π΅ gem ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ Ρ‚Π΅Π·ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. ΠŸΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ net-ftp, net-imap, net-pop, net-smtp, matrix, prime ΠΈ debug са Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€