د روبي پروګرام کولو ژبه 3.1 خوشې کول

روبي 3.1.0 خپور شو، یو متحرک اعتراض لرونکی پروګرامینګ ژبه چې د پروګرام په پراختیا کې خورا اغیزمنه ده او د پرل، جاوا، پایتون، سمالټک، ایفل، اډا او لیسپ غوره ځانګړتیاوې شاملوي. د پروژې کوډ د BSD ("2-کلاز BSDL") او "روبي" جوازونو لاندې ویشل شوی، کوم چې د GPL جواز وروستۍ نسخه ته اشاره کوي او د GPLv3 سره په بشپړه توګه مطابقت لري.

اصلي پرمختګونه:

  • یو نوی تجربه لرونکی په پروسه کې JIT تالیف کونکی ، YJIT ، اضافه شوی چې د Shopify ای کامرس پلیټ فارم پراختیا کونکو لخوا رامینځته شوی د روبي برنامو فعالیت ښه کولو لپاره د نوښت برخې په توګه چې د ریل چوکاټ کاروي او ډیری میتودونه غږوي. د مخکیني کارول شوي MJIT JIT کمپیلر څخه کلیدي توپیر ، کوم چې د بشپړ میتودونو پروسس کولو پراساس دی او په C ژبه کې بهرني کمپیلر کاروي ، دا دی چې YJIT Lazy Basic Block Versioning (LBBV) کاروي او یو مدغم JIT کمپیلر لري. د LBBV سره، JIT لومړی یوازې د میتود پیل تالیف کوي، او پاتې یو څه وخت وروسته تالیف کوي، وروسته له دې چې د متغیرونو او دلیلونو ډولونه د اجرا کولو په وخت کې ټاکل کیږي. کله چې د YJIT کاروئ، د ریل بینچ ټیسټ چلولو په وخت کې په فعالیت کې 22٪ زیاتوالی ثبت شوی، او د مایع رینډر ټیسټ کې 39٪ زیاتوالی. YJIT اوس مهال د x86-64 معمارۍ سره په سیسټمونو کې د یونیکس په څیر OS لپاره ملاتړ پورې محدود دی او د ډیفالټ لخوا غیر فعال شوی (د فعالولو لپاره ، په کمانډ لاین کې د "--yjit" بیرغ مشخص کړئ).
  • د زاړه MJIT JIT کمپیلر ښه فعالیت. د ریلونو کارولو پروژو لپاره، د ډیفالټ اعظمي کیچ اندازه (-jit-max-cache) له 100 څخه تر 10000 لارښوونو پورې لوړه شوې. د 1000 څخه زیاتو لارښوونو سره د میتودونو لپاره د JIT کارول ودرول. د ریلونو Zeitwerk مالتړ لپاره، د JIT کوډ نور نه ردیږي کله چې TracePoint د ټولګي پیښو لپاره فعاله وي.
  • پدې کې په بشپړ ډول بیا لیکل شوی debug.gem ډیبګر شامل دی ، کوم چې د ریموټ ډیبګ کولو ملاتړ کوي ، د ډیبګ شوي غوښتنلیک ورو نه کوي ، د پرمختللي ډیبګینګ انٹرفیسونو (VSCode او کروم) سره ادغام ملاتړ کوي ، د څو تارونو او څو پروسس غوښتنلیکونو ډیبګ کولو لپاره کارول کیدی شي ، چمتو کوي د REPL کوډ اجرا کولو انٹرفیس، د تعقیب پرمختللي وړتیاوې وړاندې کوي، کولی شي د کوډ ټوټې ثبت او بیا پلی کړي. مخکې وړاندیز شوی debugger lib/debug.rb د اساس ویش څخه لرې شوی.
    د روبي پروګرام کولو ژبه 3.1 خوشې کول
  • د کال بیک ټریس راپورونو کې د غلطیو بصري روښانه کول پلي شوي. د خطا بیرغ کول د جوړ شوي او ډیفالټ فعال جیم کڅوړې error_highlight په کارولو سره چمتو شوي. د خطا بیرغ کولو غیر فعالولو لپاره، تاسو کولی شئ د "--ناروا-غلطي_هائیلایټ" ترتیب وکاروئ. $ruby test.rb test.rb:1:in "": نامعلوم میتود "time" for 1:Integer (NoMethodError) 1.time {} ^^^^^ آیا ستاسو مطلب دی؟ وختونه
  • د متقابل حسابونو شیل IRB (REPL، Read-Eval-Print-Loop) د داخل شوي کوډ اتوماتیک بشپړول پلي کوي (لکه څنګه چې تاسو ټایپ کوئ، یو اشاره د دوامدار داخلولو اختیارونو سره ښودل کیږي، چې تاسو یې د ټب یا شفټ+ سره حرکت کولی شئ. د ټب کیلي). د دوام اختیار غوره کولو وروسته ، نږدې د ډیالوګ بکس ښکاره کیږي چې د ټاکل شوي توکي سره اړوند اسناد ښیې. د کیبورډ شارټ کټ Alt+d بشپړ اسنادو ته د لاسرسي لپاره کارول کیدی شي.
    د روبي پروګرام کولو ژبه 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 in [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 تشریحات رامینځته کوي (د مثال په توګه ، د VSCode مدیر سره د TypePro ادغام لپاره اضافه چمتو شوې).
  • د ډیری دندې د پروسس کولو ترتیب بدل شوی. د مثال په توګه، پخوا د "foo[0]، bar[0] = baz، qux" د جملې برخې په ترتیب باز، qux، foo، bar کې پروسس شوې وې، خو اوس foo، bar، baz، qux.
  • د VWA (د متغیر چوکۍ تخصیص) میکانیزم په کارولو سره د تارونو لپاره د حافظې تخصیص لپاره تجربوي ملاتړ اضافه شوی.
  • د جوړ شوي قیمتي ماډلونو تازه شوي نسخې او هغه چې په معیاري کتابتون کې شامل دي. net-ftp، net-imap، net-pop، net-smtp، میټرکس، پریم او ډیبګ کڅوړې جوړ شوي دي.

سرچینه: opennet.ru

Add a comment