เดฑเต‚เดฌเดฟ 3.1 เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเดฏเตเดŸเต† เดชเตเดฐเด•เดพเดถเดจเด‚

Perl, Java, Python, Smalltalk, Eiffel, Ada, Lisp เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดฎเดฟเด•เดšเตเดš เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจ, เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เดจเตเดฑเดฟเตฝ เดตเดณเดฐเต† เด•เดพเดฐเตเดฏเด•เตเดทเดฎเดฎเดพเดฏ เด’เดฐเต เดกเตˆเดจเดพเดฎเดฟเด•เต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต-เด“เดฑเดฟเดฏเดจเตเดฑเดกเต เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเดฏเดพเดฏ Ruby 3.1.0 เดชเตเดฑเดคเตเดคเดฟเดฑเด™เตเด™เดฟ. เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด•เต‹เดกเต BSD ("2-เด•เตเดฒเต‹เดธเต BSDL"), "เดฑเต‚เดฌเดฟ" เดŽเดจเตเดจเต€ เดฒเตˆเดธเตปเดธเตเด•เตพเด•เตเด•เต เด•เต€เดดเดฟเดฒเดพเดฃเต เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต, เด‡เดคเต GPL เดฒเตˆเดธเตปเดธเดฟเดจเตเดฑเต† เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเดฟเดจเต† เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เตเด•เดฏเตเด‚ GPLv3 เดฏเตเดฎเดพเดฏเดฟ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดชเตเดฐเดงเดพเดจ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เตพ:

  • เดฑเต†เดฏเดฟเตฝโ€Œเดธเต เดšเดŸเตเดŸเด•เตเด•เต‚เดŸเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดฑเต‚เดฌเดฟ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เดณเตเดŸเต† เดชเตเดฐเด•เดŸเดจเด‚ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดธเด‚เดฐเด‚เดญเดคเตเดคเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฏเดฟ Shopify เด‡-เด•เตŠเดฎเต‡เดดเตโ€Œเดธเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดฟเดจเตเดฑเต† เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดš เด’เดฐเต เดชเตเดคเดฟเดฏ เดชเดฐเต€เด•เตเดทเดฃเดพเดŸเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเดฒเตเดณเตเดณ JIT เด•เด‚เดชเตˆเดฒเตผ, YJIT เดšเต‡เตผเดคเตเดคเต. เดฎเตเดฎเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดš MJIT JIT เด•เด‚เดชเตˆเดฒเดฑเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดชเตเดฐเดงเดพเดจ เดตเตเดฏเดคเตเดฏเดพเดธเด‚, เดฎเตเดดเตเดตเตป เดฐเต€เดคเดฟเด•เดณเตเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดคเตเด‚ เดธเดฟ เดญเดพเดทเดฏเดฟเตฝ เด’เดฐเต เดฌเดพเดนเตเดฏ เด•เดฎเตเดชเตˆเดฒเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเตเดฎเดพเดฃเต, YJIT เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต Lazy Basic Block Versioning (LBBV) เด†เดฃเต, เด…เดคเดฟเตฝ เด’เดฐเต เดธเด‚เดฏเต‹เดœเดฟเดค JIT เด•เด‚เดชเตˆเดฒเตผ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดพเดฃเต. LBBV เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, JIT เด†เดฆเตเดฏเด‚ เดฐเต€เดคเดฟเดฏเตเดŸเต† เด†เดฐเด‚เดญเด‚ เดฎเดพเดคเตเดฐเด‚ เดธเดฎเดพเดนเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดต เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เดธเดฎเดฏเดคเตเดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต†เดฏเตเด‚ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดคเดฐเด™เตเด™เตพ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚. YJIT เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดฑเต†เดฏเดฟเตฝโ€Œเดฌเต†เดžเตเดšเต เดŸเต†เดธเตเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดชเตเดฐเด•เดŸเดจเดคเตเดคเดฟเตฝ 22% เดตเตผเดฆเตเดงเดจเดตเตเด‚ เดฒเดฟเด•เตเดตเดฟเดกเต-เดฑเต†เตปเดกเตผ เดŸเต†เดธเตเดฑเตเดฑเดฟเตฝ 39% เดตเตผเดฆเตเดงเดจเดตเตเด‚ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเดฟ. YJIT เดจเดฟเดฒเดตเดฟเตฝ x86-64 เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเตผ เด‰เดณเตเดณ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเดฟเดฒเต† unix-เดชเต‹เดฒเตเดณเตเดณ OS-เด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเดพเดฏเดฟ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เด•เดฎเดพเตปเดกเต เดฒเตˆเดจเดฟเตฝ "--yjit" เดซเตเดฒเดพเด—เต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด•).
  • เดชเดดเดฏ MJIT JIT เด•เด‚เดชเตˆเดฒเดฑเดฟเดจเตเดฑเต† เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดŸ เดชเตเดฐเด•เดŸเดจเด‚. เดฑเต†เดฏเดฟเดฒเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ, เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดชเดฐเดฎเดพเดตเดงเดฟ เด•เดพเดทเต† เดตเดฒเตเดชเตเดชเด‚ (--jit-max-cache) 100-เตฝ เดจเดฟเดจเตเดจเต 10000 เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเดพเดฏเดฟ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเต. 1000-เดฒเดงเดฟเด•เด‚ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเตเดณเตเดณ เดฐเต€เดคเดฟเด•เตพเด•เตเด•เดพเดฏเดฟ JIT เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเตผเดคเตเดคเดฟ. Zeitwerk of Rails-เดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เดพเตป, เด•เตเดฒเดพเดธเต เด‡เดตเดจเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ TracePoint เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ JIT เด•เต‹เดกเต เด‡เดจเดฟ เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เดฟเดฒเตเดฒ.
  • เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดฟ เดฎเดพเดฑเตเดฑเดฟเดฏเต†เดดเตเดคเดฟเดฏ debug.gem เดกเต€เดฌเด—เตเด—เตผ เด‡เดคเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต, เด…เดคเต เดฑเดฟเดฎเต‹เดŸเตเดŸเต เดกเต€เดฌเด—เตเด—เดฟเด‚เด—เดฟเดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต, เดกเต€เดฌเด—เตเด—เตเดšเต†เดฏเตโ€Œเดค เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต† เดฎเดจเตเดฆเด—เดคเดฟเดฏเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เดตเดฟเดชเตเดฒเดฎเดพเดฏ เดกเต€เดฌเด—เตเด—เดฟเด‚เด—เต เด‡เดจเตเดฑเตผเดซเต‡เดธเตเด•เดณเตเดฎเดพเดฏเตเดณเตเดณ (VSCode, Chrome) เดธเด‚เดฏเต‹เดœเดจเดคเตเดคเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต, เดฎเตพเดŸเตเดŸเดฟ-เดคเตเดฐเต†เดกเตเด‚ เดฎเตพเดŸเตเดŸเดฟ-เดชเตเดฐเต‹เดธเดธเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเด‚ เดกเต€เดฌเด—เตเด—เตเดšเต†เดฏเตเดฏเดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚, เดจเตฝเด•เตเดจเตเดจเต เด’เดฐเต REPL เด•เต‹เดกเต เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดทเตป เด‡เดจเตเดฑเตผเดซเต‡เดธเต, เดตเดฟเดชเตเดฒเดฎเดพเดฏ เดŸเตเดฐเต†เดฏเตโ€Œเดธเดฟเด‚เด—เต เด•เดดเดฟเดตเตเด•เตพ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด•เต‹เดกเต เดธเตโ€Œเดจเดฟเดชเตเดชเต†เดฑเตเดฑเตเด•เตพ เดฑเต†เด•เตเด•เต‹เตผเดกเตเดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดฑเต€เดชเตเดฒเต‡ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚. เดฎเตเดฎเตเดชเต เดจเตฝเด•เดฟเดฏ เดกเต€เดฌเด—เตเด—เตผ lib/debug.rb เด…เดŸเดฟเดธเตเดฅเดพเดจ เดตเดฟเดคเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตโ€Œเดคเต.
    เดฑเต‚เดฌเดฟ 3.1 เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเดฏเตเดŸเต† เดชเตเดฐเด•เดพเดถเดจเด‚
  • เด•เต‹เตพ เดฌเดพเด•เตเด•เต เดŸเตเดฐเต‡เดธเต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เดณเดฟเดฒเต† เดชเดฟเดถเด•เตเด•เดณเตเดŸเต† เดฆเตƒเดถเตเดฏ เดนเตˆเดฒเตˆเดฑเตเดฑเดฟเด‚เด—เต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ. เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป, เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฟเดฏ เดœเต†เด‚ เดชเดพเด•เตเด•เต‡เดœเต เดŽเดฑเตผ_เดนเตˆเดฒเตˆเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดชเดฟเดถเด•เต เดซเตเดฒเดพเด—เดฟเด‚เด—เต เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต. เดชเดฟเดถเด•เต เดซเตเดฒเดพเด—เดฟเด‚เด—เต เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต โ€œ--disable-error_highlightโ€ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. $ ruby โ€‹โ€‹test.rb test.rb:1:in "": 1-เดจเตเดณเตเดณ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเดคเตเดค เดฐเต€เดคเดฟ "เดธเดฎเดฏเด‚": เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ (NoMethodError) 1.time {} ^^^^^ เดจเดฟเด™เตเด™เตพ เด‰เดฆเตเดฆเต‡เดถเดฟเดšเตเดšเดคเต? เดคเดตเดฃ
  • เด‡เดจเตเดฑเดฑเดพเด•เตเดŸเต€เดตเต เด•เดฃเด•เตเด•เตเด•เต‚เดŸเตเดŸเดฒเตเด•เดณเตเดŸเต† เดทเต†เตฝ IRB (REPL, Read-Eval-Print-Loop) เดจเตฝเด•เดฟเดฏ เด•เต‹เดกเดฟเดจเตเดฑเต† เดฏเดพเดจเตเดคเตเดฐเดฟเด• เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต (เดจเดฟเด™เตเด™เตพ เดŸเตˆเดชเตเดชเตเดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เด‡เตปเดชเตเดŸเตเดŸเต เดคเตเดŸเดฐเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด“เดชเตโ€Œเดทเดจเตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เด’เดฐเต เดธเต‚เดšเดจ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚, เด…เดคเดฟเดจเดฟเดŸเดฏเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŸเดพเดฌเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ Shift+ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเต€เด™เตเด™เดพเด‚. เดŸเดพเดฌเต เด•เต€). เดคเตเดŸเตผเดšเตเดš เด“เดชเตเดทเตป เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดค เดถเต‡เดทเด‚, เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดค เด‡เดจเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดกเดฏเดฒเต‹เด—เต เดฌเต‹เด•เตเดธเต เดธเดฎเต€เดชเดคเตเดคเต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚. เดฎเตเดดเตเดตเตป เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเตเด‚ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เต€เดฌเต‹เตผเดกเต เด•เตเดฑเตเด•เตเด•เตเดตเดดเดฟ 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" เดŽเดจเตเดจ เดชเดฆเดชเตเดฐเดฏเต‹เด—เดคเตเดคเดฟเดจเตเดฑเต† เด˜เดŸเด•เด™เตเด™เตพ baz, qux, foo, bar เดŽเดจเตเดจ เด•เตเดฐเดฎเดคเตเดคเดฟเดฒเดพเดฃเต เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดคเดฟเดฐเตเดจเตเดจเดคเต, เดŽเดจเตเดจเดพเตฝ เด‡เดชเตเดชเต‹เตพ foo, bar, baz, qux.
  • VWA (เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดตเดฟเดกเตเดคเตเดคเต เด…เดฒเต‹เด•เตเด•เต‡เดทเตป) เดฎเต†เด•เตเด•เดพเดจเดฟเดธเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เตเด•เตพเด•เตเด•เตเดณเตเดณ เดฎเต†เดฎเตเดฎเดฑเดฟ เด…เดฒเต‹เด•เตเด•เต‡เดทเดจเดพเดฏเดฟ เดชเดฐเต€เด•เตเดทเดฃเดพเดคเตเดฎเด• เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต.
  • เด…เดจเตเดคเตผเดจเดฟเตผเดฎเตเดฎเดฟเดค เดœเต†เด‚ เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เดณเตเดŸเต† เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดค เดชเดคเดฟเดชเตเดชเตเด•เดณเตเด‚ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดตเดฏเตเด‚. net-ftp, net-imap, net-pop, net-smtp, matrix, Prime, เดกเต€เดฌเด—เต เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เดŽเดจเตเดจเดฟเดต เด…เดจเตเดคเตผเดจเดฟเตผเดฎเตเดฎเดฟเดคเดฎเดพเดฃเต.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•