เจฐเฉ‚เจฌเฉ€ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ 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 เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจนเฉเจฃ เจฐเฉฑเจฆ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค
  • เจ‡เจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจพเจฒ เจฎเฉเฉœ-เจฒเจฟเจ–เจค debug.gem เจกเฉ€เจฌเฉฑเจ—เจฐ เจธเจผเจพเจฎเจฒ เจนเฉˆ, เจœเฉ‹ เจฐเจฟเจฎเฉ‹เจŸ เจกเฉ€เจฌเจ—เจฟเฉฐเจ— เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจกเฉ€เจฌเฉฑเจ—เจก เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจนเฉŒเจฒเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, เจเจกเจตเจพเจ‚เจธเจก เจกเฉ€เจฌเจ—เจฟเฉฐเจ— เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ (VSCode เจ…เจคเฉ‡ Chrome) เจจเจพเจฒ เจเจ•เฉ€เจ•เจฐเจฃ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจฎเจฒเจŸเฉ€-เจฅเฉเจฐเฉˆเจกเจก เจ…เจคเฉ‡ เจฎเจฒเจŸเฉ€-เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจกเฉ€เจฌเฉฑเจ— เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• REPL เจ•เฉ‹เจก เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ, เจคเจ•เจจเฉ€เจ•เฉ€ เจŸเจฐเฉ‡เจธเจฟเฉฐเจ— เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ•เฉ‹เจก เจฆเฉ‡ เจธเจจเจฟเฉฑเจชเจŸ เจจเฉ‚เฉฐ เจฐเจฟเจ•เจพเจฐเจก เจ…เจคเฉ‡ เจฐเฉ€เจชเจฒเฉ‡ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจชเจนเจฟเจฒเจพเจ‚ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ‡ เจ—เจ เจกเฉ€เจฌเฉฑเจ—เจฐ lib/debug.rb เจจเฉ‚เฉฐ เจฌเฉ‡เจธ เจกเจฟเจธเจŸเฉเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจคเฉ‹เจ‚ เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค
    เจฐเฉ‚เจฌเฉ€ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ 3.1
  • เจ•เจพเจฒ เจฌเฉˆเจ• เจŸเจฐเฉ‡เจธ เจฐเจฟเจชเฉ‹เจฐเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจคเจฐเฉเฉฑเจŸเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฟเจœเจผเฉ‚เจ…เจฒ เจนเจพเจˆเจฒเจพเจˆเจŸเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค เจ—เจฒเจคเฉ€ เจซเจฒเฉˆเจ—เจฟเฉฐเจ— เจฌเจฟเจฒเจŸ-เจ‡เจจ เจ…เจคเฉ‡ เจกเจฟเจซเฉŒเจฒเจŸ-เจธเจฎเจฐเฉฑเจฅ เจฐเจคเจจ เจชเฉˆเจ•เฉ‡เจœ error_highlight เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ—เจฒเจคเฉ€ เจซเจฒเฉˆเจ—เจฟเฉฐเจ— เจจเฉ‚เฉฐ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ "--เจ…เจฏเฉ‹เจ—-เจ—เจฒเจคเฉ€_เจนเจพเจˆเจฒเจพเจˆเจŸ" เจธเฉˆเจŸเจฟเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค $ ruby โ€‹โ€‹test.rb test.rb:1: "" เจตเจฟเฉฑเจš: 1 เจฒเจˆ เจ…เจฃ-เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจขเฉฐเจ— "time": 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 เจŸเจพเจˆเจช เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจญเจพเจธเจผเจพ, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ€ เจฌเจฃเจคเจฐ เจ…เจคเฉ‡ เจตเจฐเจคเฉ€เจ†เจ‚ เจœเจพเจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ, เจจเฉ‡ โ€œ<โ€ เจšเจฟเฉฐเจจเฉเจน เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟเจธเจฎ เจฆเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฆเฉ€ เจ‰เจชเจฐเจฒเฉ€ เจธเฉ€เจฎเจพ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจนเฉˆ, เจ†เจฎ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจ‰เจชเจจเจพเจฎเจพเจ‚ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจฒเจˆ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจธเจฎเจฐเจฅเจจ เจฐเจคเจจเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ เจธเฉฐเจ—เฉเจฐเจนเจฟ, เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเจพ เจ…เจคเฉ‡ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจ…เจคเฉ‡ เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจฒเจˆ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจจเจตเฉ‡เจ‚ เจฆเจธเจคเจ–เจค เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡เฅค
  • เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจตเจฟเจ•เจพเจธ เจตเจพเจคเจพเจตเจฐเจฃเจพเจ‚ เจฒเจˆ เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจธเจนเจพเจ‡เจคเจพ เจจเฉ‚เฉฐ เจŸเจพเจˆเจชเจชเฉเจฐเฉ‹ เจธเจŸเฉˆเจŸเจฟเจ• เจŸเจพเจˆเจช เจเจจเจพเจฒเจพเจˆเจœเจผเจฐ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจธเจชเฉฑเจธเจผเจŸ เจ•เจฟเจธเจฎ เจฆเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ•เฉ‹เจก เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจ†เจฐเจฌเฉ€เจเจธ เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจคเจฟเจ†เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, VSCode เจธเฉฐเจชเจพเจฆเจ• เจจเจพเจฒ เจŸเจพเจˆเจชเจชเฉเจฐเฉ‹ เจจเฉ‚เฉฐ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจเจก-เจ†เจจ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ)เฅค
  • เจฎเจฒเจŸเฉ€เจชเจฒ เจ…เจธเจพเจˆเจจเจฎเฉˆเจ‚เจŸเจพเจ‚ 'เจคเฉ‡ เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจจ เจฆเจพ เจ•เฉเจฐเจฎ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจชเจนเจฟเจฒเจพเจ‚ "foo[0], bar[0] = baz, qux" เจธเจฎเฉ€เจ•เจฐเจจ เจฆเฉ‡ เจญเจพเจ—เจพเจ‚ เจจเฉ‚เฉฐ baz, qux, foo, bar เจฆเฉ‡ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจธเฉฐเจธเจพเจงเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจชเจฐ เจนเฉเจฃ foo, bar, baz, qux.
  • VWA (เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเจกเจฅ เจ…เจฒเฉ‹เจ•เฉ‡เจธเจผเจจ) เจตเจฟเจงเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจธเจคเจฐ เจฒเจˆ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเฉฐเจก เจฒเจˆ เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจธเจฎเจฐเจฅเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†เฅค
  • เจฌเจฟเจฒเจŸ-เจ‡เจจ เจฐเจคเจจ เจฎเจพเจกเจฟเจŠเจฒเจพเจ‚ เจฆเฉ‡ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจ…เจคเฉ‡ เจฎเจฟเจ†เจฐเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจเฅค net-ftp, net-imap, net-pop, net-smtp, เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ, เจชเฉเจฐเจพเจˆเจฎ เจ…เจคเฉ‡ เจกเฉ€เจฌเฉฑเจ— เจชเฉˆเจ•เฉ‡เจœ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจนเจจเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹