เจฐเฉ‚เจฌเฉ€ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ 2.7.0

เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจพเจฒ เจฌเจพเจ…เจฆ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจœเจพเจฐเฉ€ เจฐเฉ‚เจฌเฉ€ 2.7.0, เจ‡เฉฑเจ• เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจ†เจฌเจœเฉˆเจ•เจŸ-เจ…เจงเจพเจฐเจฟเจค เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจœเฉ‹ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจ•เฉเจธเจผเจฒ เจนเฉˆ เจ…เจคเฉ‡ เจชเจฐเจฒ, เจœเจพเจตเจพ, เจชเจพเจˆเจฅเจจ, เจธเจฎเจพเจฒเจŸเจพเจ•, เจ†เจˆเจซเจฒ, เจเจกเจพ เจ…เจคเฉ‡ เจฒเจฟเจธเจช เจฆเฉ€เจ†เจ‚ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ•เฉ‹เจก เจจเฉ‚เฉฐ BSD ("2-เจ•เจฒเจพเจœเจผ BSDL") เจ…เจคเฉ‡ "เจฐเฉ‚เจฌเฉ€" เจฒเจพเจ‡เจธเฉฐเจธ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจตเฉฐเจกเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ GPL เจฒเจพเจ‡เจธเฉฐเจธ เจฆเฉ‡ เจจเจตเฉ€เจจเจคเจฎ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเจพ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ GPLv3 เจจเจพเจฒ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ…เจจเฉเจ•เฉ‚เจฒ เจนเฉˆเฅค เจฐเฉ‚เจฌเฉ€ 2.7 เจ‡เฉฑเจ• เจฏเฉ‹เจœเจจเจพเจฌเฉฑเจง เจตเจฟเจ•เจพเจธ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจตเจœเฉ‹เจ‚ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจœเจพเจฃ เจตเจพเจฒเฉ€ เจธเฉฑเจคเจตเฉ€เจ‚ เจตเฉฑเจกเฉ€ เจฐเฉ€เจฒเฉ€เจœเจผ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจธเฉเจงเจพเจฐเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจธเจพเจฒ เจตเฉฑเจ–เจฐเจพ เจฐเฉฑเจ–เจฃเจพ เจ…เจคเฉ‡ 2-3 เจฎเจนเฉ€เจจเฉ‡ เจฆเฉ‡ เจชเฉˆเจš เจฐเฉ€เจฒเฉ€เจœเจผ เจธเจผเจพเจฎเจฒ เจนเจจเฅค

เจฎเฉเฉฑเจ– เจธเฉเจงเจพเจฐ:

  • เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจธเจนเจฟเจฏเฉ‹เจ— เจชเฉˆเจŸเจฐเจจ เจฎเฉ‡เจฒ (เจชเฉˆเจŸเจฐเจจ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเจพ เจนเฉˆ), เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเจฟเฉฑเจคเฉ‡ เจ—เจ เจ†เจฌเจœเฉˆเจ•เจŸ เจ‰เฉฑเจคเฉ‡ เจฆเฉเจนเจฐเจพเจ‰เจฃ เจ…เจคเฉ‡ เจชเฉˆเจŸเจฐเจจ เจจเจพเจฒ เจฎเฉ‡เจฒ เจนเฉ‹เจฃ 'เจคเฉ‡ เจ‡เฉฑเจ• เจฎเฉเฉฑเจฒ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

    เจ•เฉ‡เจธ [0, [1, 2, 3]] [a, [b, *c]] pa #=> 0 เจตเจฟเฉฑเจš
    pb #=> 1
    pc #=> [2, 3] เจ…เฉฐเจค

    เจ•เฉ‡เจธ {a: 0, b: 1}
    in{a:0,x:1}
    : เจ…เจฃเจ‰เจชเจฒเจฌเจง
    {a: 0, b: var} เจตเจฟเฉฑเจš
    p var #=> 1
    เจ…เฉฐเจค

  • เจ‡เฉฐเจŸเจฐเจเจ•เจŸเจฟเจต เจ•เฉˆเจฒเจ•เฉ‚เจฒเฉ‡เจธเจผเจจ irb (REPL, Read-Eval-Print-Loop) เจฆเฉ‡ เจธเจผเฉˆเฉฑเจฒ เจตเจฟเฉฑเจš เจนเฉเจฃ เจฌเจนเฉ-เจฒเจพเจˆเจจ เจธเฉฐเจชเจพเจฆเจจ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉˆ, เจ‡เฉฑเจ• เจฐเฉ€เจกเจฒเจพเจˆเจจ-เจ…เจจเฉเจ•เฉ‚เจฒ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจฒเจพเจˆเจจเจฐเฉ‚เจฌเฉ€ เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ†. rdoc เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ•เจฟ irb เจตเจฟเฉฑเจš เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฒเจพเจธเจพเจ‚, เจฎเฉ‹เจกเฉ€เจŠเจฒ เจ…เจคเฉ‡ เจขเฉฐเจ—เจพเจ‚ เจฌเจพเจฐเฉ‡ เจนเจตเจพเจฒเจพ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ‡เจ–เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจฌเจพเจˆเจกเจฟเฉฐเจ—#irb เจฆเฉเจ†เจฐเจพ เจฆเจฟเจ–เจพเจ เจ—เจ เจ•เฉ‹เจก เจฆเฉ‡ เจจเจพเจฒ เจฒเจพเจˆเจจเจพเจ‚ เจฆเฉ€ เจฐเฉฐเจ—เฉ€เจจ เจนเจพเจˆเจฒเจพเจˆเจŸเจฟเฉฐเจ— เจ…เจคเฉ‡ เจฌเฉ‡เจธ เจ•เจฒเจพเจธ เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเฉ€ เจœเจพเจ‚เจš เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค

    เจฐเฉ‚เจฌเฉ€ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ 2.7.0

  • เจ‡เฉฑเจ• เจธเฉฐเจ–เฉ‡เจช เจ•เฉ‚เฉœเจพ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจ เจตเจพเจฒเจพ (เจ•เฉฐเจชเฉˆเจ•เจธเจผเจจ GC) เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจœเฉ‹ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ‡ เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจจเฉ‚เฉฐ เจกเฉ€เจซเฉเจฐเฉˆเจ—เจฎเฉˆเจ‚เจŸ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจนเฉŒเจฒเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจฆเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจซเจฐเฉˆเจ—เจฎเฉˆเจ‚เจŸเฉ‡เจธเจผเจจ เจฆเฉ‡ เจ•เจพเจฐเจจ เจตเจงเฉ€ เจนเฉ‹เจˆ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เจชเจค เจœเฉ‹ เจ•เจฟ เจ•เฉเจ เจฎเจฒเจŸเฉ€-เจฅเฉเจฐเฉˆเจกเจก เจฐเฉ‚เจฌเฉ€ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจฆเฉŒเจฐเจพเจจ เจตเจพเจชเจฐเจฆเจพ เจนเฉˆเฅค เจขเฉ‡เจฐ 'เจคเฉ‡ เจตเจธเจคเฉ‚เจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉˆเจ• เจ•เจฐเจจ เจฒเจˆ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค GC.compact เจขเฉฐเจ— เจตเจฐเจคเฉ‡ เจ—เจ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจชเฉฐเจจเจฟเจ†เจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจจเฉ‚เฉฐ เจ˜เจŸเจพเจ‰เจฃ เจ…เจคเฉ‡ เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฒเจˆ เจนเฉ€เจช เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ
    CoW (เจจเจ•เจฒ-เจคเฉ‡-เจฒเจฟเจ–เจฃ)เฅค

  • เจ•เฉ€เจคเจพ เจธเฉ‚เจšเฉ€ ("def foo(a,b,c)") เจ…เจคเฉ‡ เจ•เฉ€เจตเจฐเจกเจธ ("def foo(key: val)") เจตเจฟเฉฑเจš เจธเจฅเจฟเจคเฉ€ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ– เจ•เจฐเจจ เจฆเฉ€ เจคเจฟเจ†เจฐเฉ€เฅค เจ•เฉ€เจตเจฐเจกเจธ เจ…เจคเฉ‡ เจธเจฅเจฟเจคเฉ€ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจชเจฐเจฟเจตเจฐเจคเจจ เจจเฉ‚เฉฐ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจฐเฉ‚เจฌเฉ€ 3.0 เจธเจผเจพเจ–เจพ เจตเจฟเฉฑเจš เจธเจฎเจฐเจฅเจฟเจค เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡, เจ†เจ–เจฐเฉ€ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจจเฉ‚เฉฐ เจ•เฉ€เจตเจฐเจก เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฃ เจฒเจˆ, เจ•เฉ€เจตเจฐเจก-เจ…เจงเจพเจฐเจฟเจค เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจ–เจฐเฉ€ เจนเฉˆเจธเจผ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจตเจœเฉ‹เจ‚ เจชเจพเจธ เจ•เจฐเจจ เจฒเจˆ, เจ…เจคเฉ‡ เจ†เจ–เจฐเฉ€ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจจเฉ‚เฉฐ เจธเจฅเจฟเจคเฉ€ เจ…เจคเฉ‡ เจ•เฉ€เจตเจฐเจก เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฃ เจฒเจˆ เจฌเจฐเจคเจฐเจซเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

    def foo (เจ•เฉเฉฐเจœเฉ€: 42); เจ…เฉฐเจค; foo({key: 42}) # เจšเฉ‡เจคเจพเจตเจจเฉ€ เจฆเจฟเฉฑเจคเฉ€
    def foo (** kw); เจ…เฉฐเจค; foo({key: 42}) # เจšเฉ‡เจคเจพเจตเจจเฉ€ เจฆเจฟเฉฑเจคเฉ€
    def foo (เจ•เฉเฉฐเจœเฉ€: 42); เจ…เฉฐเจค; foo(**{เจ•เฉเฉฐเจœเฉ€: 42}) # เจ เฉ€เจ• เจนเฉˆ
    def foo (** kw); เจ…เฉฐเจค; foo(**{เจ•เฉเฉฐเจœเฉ€: 42}) # เจ เฉ€เจ• เจนเฉˆ

    def foo(h, **kw); เจ…เฉฐเจค; foo (เจ•เฉเฉฐเจœเฉ€: 42) # เจšเฉ‡เจคเจพเจตเจจเฉ€ เจฆเจฟเฉฑเจคเฉ€
    def foo(h, เจ•เฉเฉฐเจœเฉ€: 42); เจ…เฉฐเจค; foo (เจ•เฉเฉฐเจœเฉ€: 42) # เจšเฉ‡เจคเจพเจตเจจเฉ€ เจฆเจฟเฉฑเจคเฉ€
    def foo(h, **kw); เจ…เฉฐเจค; foo({key: 42}) # เจ เฉ€เจ• เจนเฉˆ
    def foo(h, เจ•เฉเฉฐเจœเฉ€: 42); เจ…เฉฐเจค; foo({key: 42}) # เจ เฉ€เจ• เจนเฉˆ

    def foo(h={}, เจ•เฉเฉฐเจœเฉ€: 42); เจ…เฉฐเจค; foo("key" => 43, เจ•เฉเฉฐเจœเฉ€: 42) # เจšเฉ‡เจคเจพเจตเจจเฉ€ เจฆเจฟเฉฑเจคเฉ€
    def foo(h={}, เจ•เฉเฉฐเจœเฉ€: 42); เจ…เฉฐเจค; foo({"key" => 43, เจ•เฉเฉฐเจœเฉ€: 42}) # เจšเฉ‡เจคเจพเจตเจจเฉ€ เจฆเจฟเฉฑเจคเฉ€ เจ—เจˆ
    def foo(h={}, เจ•เฉเฉฐเจœเฉ€: 42); เจ…เฉฐเจค; foo({"key" => 43}, เจ•เฉเฉฐเจœเฉ€: 42) # เจ เฉ€เจ• เจนเฉˆ

    def foo(opt={}); เจ…เฉฐเจค; foo (เจ•เฉเฉฐเจœเฉ€: 42) # เจ เฉ€เจ• เจนเฉˆ

    def foo(h, **nil); เจ…เฉฐเจค; foo(เจ•เฉเฉฐเจœเฉ€: 1) # เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจเจฐเจฐ
    def foo(h, **nil); เจ…เฉฐเจค; foo(**{เจ•เฉเฉฐเจœเฉ€: 1}) # เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจเจฐเจฐ
    def foo(h, **nil); เจ…เฉฐเจค; foo("str" โ€‹โ€‹=> 1) # เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจเจฐเจฐ
    def foo(h, **nil); เจ…เฉฐเจค; foo({key: 1}) # เจ เฉ€เจ• เจนเฉˆ
    def foo(h, **nil); เจ…เฉฐเจค; foo({"str" โ€‹โ€‹=> 1}) # เจ เฉ€เจ• เจนเฉˆ

    h = {}; def foo(*a) เจ…เฉฐเจค; foo(**h) # [] h = {}; def foo(a) เจ…เฉฐเจค; foo(**h) # {} เจ…เจคเฉ‡ เจšเฉ‡เจคเจพเจตเจจเฉ€
    h = {}; def foo(*a) เจ…เฉฐเจค; foo(h) # [{}] h = {}; def foo(a) เจ…เฉฐเจค; foo(h) # {}

  • เจฎเฉŒเจ•เจพ เจฌเจฒเจพเจ• เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฒเจˆ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจจเฉฐเจฌเจฐ เจตเจพเจฒเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเจพเจฎเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพเฅค

    [1, 2, 3]เฅคเจนเจฐเฉ‡เจ• { @1 เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ } # เจœเจฟเจตเฉ‡เจ‚ [1, 2, 3]เฅคเจนเจฐ { |i| เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ }

  • เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจฌเจฟเจจเจพเจ‚ เจฐเฉ‡เจ‚เจœเจพเจ‚ เจฒเจˆ เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจธเจฎเจฐเจฅเจจเฅค

    ary[..3] # ary[0..3] rel.where (เจตเจฟเจ•เจฐเฉ€: ..100) เจฆเฉ‡ เจธเจฎเจพเจจ

  • เจ—เจฟเจฃเจจเจฏเฉ‹เจ—#เจŸเฉˆเจฒเฉ€ เจตเจฟเจงเฉ€ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ, เจœเฉ‹ เจนเจฐเฉ‡เจ• เจคเฉฑเจค เจฆเฉ‡ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจฃ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

    ["a", "b", "c", "b"]เฅคเจŸเฉˆเจฒเฉ€
    #=> {โ€œaโ€=>1, โ€œbโ€=>2, โ€œcโ€=>1}

  • "เจธเจตเฉˆ" เจธเจผเจพเจฌเจฆเจฟเจ• เจจเจพเจฒ เจจเจฟเจœเฉ€ เจตเจฟเจงเฉ€ เจ•เจพเจฒ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจนเฉˆ

    deffoo
    เจ…เฉฐเจค
    เจจเจฟเฉฑเจœเฉ€:foo
    self.foo

  • เจ†เจฒเจธเฉ€ (เจ…เฉฐเจ•เจ•เจพเจฐ::เจ†เจฒเจธเฉ€) เจ—เจฃเจจเจพ เจคเฉ‹เจ‚ เจจเจฟเจฏเจฎเจค เจ—เจฃเจจเจพ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจฒเจˆ เจเจจเฉ‚เจฎเฉ‡เจฐเฉ‡เจŸเจฐ::เจ†เจฒเจธเฉ€#เจเจœเจฐ เจตเจฟเจงเฉ€ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆเฅค

    a = %w(foo เจฌเจพเจฐ เจฌเจพเจœเจผ)
    e = a.lazy.map {|x| x.upcase }. เจจเจ•เจธเจผเจพ {|x| x + "!" }. เจ‰เจคเจธเฉเจ•
    p e.class #=> เจ—เจฟเจฃเจคเฉ€เจ•เจพเจฐ
    e.map {|x| x + "?" } #=> ["FOO!?", "BAR!?", "BAZ!?"]

  • เจ‡เฉฑเจ• เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• JIT เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฆเจพ เจตเจฟเจ•เจพเจธ เจœเจพเจฐเฉ€ เจนเฉˆ, เจœเฉ‹ เจฐเฉ‚เจฌเฉ€ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเฉเจงเจพเจฐ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจฐเฉ‚เจฌเฉ€ เจตเจฟเฉฑเจš เจชเฉเจฐเจธเจคเจพเจตเจฟเจค JIT เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจชเจนเจฟเจฒเจพเจ‚ เจกเจฟเจธเจ• 'เจคเฉ‡ C เจ•เฉ‹เจก เจฒเจฟเจ–เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‡เจน เจฎเจธเจผเฉ€เจจ เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจฌเจพเจนเจฐเฉ€ C เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ (GCC, Clang เจ…เจคเฉ‡ Microsoft VC ++ เจธเจฎเจฐเจฅเจฟเจค เจนเจจ)เฅค เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจ‡เจจเจฒเจพเจˆเจจ เจคเฉˆเจจเจพเจคเฉ€ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจงเฉ€ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡, เจธเฉฐเจ•เจฒเจจ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจ…เจจเฉเจ•เฉ‚เจฒเจจ เจฎเฉ‹เจกเจพเจ‚ เจฆเฉ€ เจšเฉ‹เจฃเจตเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ, "--เจœเฉ€เจค-เจฎเจฟเจจ-เจ•เจพเจฒเจœเจผ" เจฆเจพ เจฎเฉ‚เจฒ เจฎเฉเฉฑเจฒ 5 เจคเฉ‹เจ‚ 10000 เจคเฉฑเจ• เจตเจงเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ…เจคเฉ‡ "--เจœเฉ€เจค-เจฎเฉˆเจ•เจธ-เจ•เฉˆเจธเจผ" 1000 เจคเฉ‹เจ‚ 100 เจคเฉฑเจ•
  • CGI.escapeHTML, เจฎเจพเจจเฉ€เจŸเจฐ เจ…เจคเฉ‡ MonitorMixin เจฆเฉ€ เจฌเจฟเจนเจคเจฐ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€เฅค
  • Module#name, true.to_s, false.to_s, เจ…เจคเฉ‡ nil.to_s เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ เจ•เจฟ เจ‡เฉฑเจ• เจธเจŸเฉเจฐเจฟเฉฐเจ— เจตเจพเจชเจธ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ เจœเฉ‹ เจจเจฟเจฐเจงเจพเจฐเจค เจตเจธเจคเฉ‚ เจฒเจˆ เจฌเจฆเจฒเจฟเจ† เจจเจนเฉ€เจ‚ เจนเฉˆเฅค
  • RubyVM::InstructionSequence#to_binary เจตเจฟเจงเฉ€ เจฆเฉเจ†เจฐเจพ เจคเจฟเจ†เจฐ เจฌเจพเจˆเจจเจฐเฉ€ เจซเจพเจˆเจฒเจพเจ‚ เจฆเจพ เจ†เจ•เจพเจฐ เจ˜เจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ;
  • เจฌเจฟเจฒเจŸ-เจ‡เจจ เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸเจธ เจฆเฉ‡ เจ…เจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ, เจธเจฎเฉ‡เจค
    เจฌเฉฐเจกเจฒเจฐ 2.1.2, RubyGems 3.1.2,
    Racc 1.4.15,
    CSV 3.1.2, REXML 3.2.3,
    RSS 0.2.8,
    เจธเจŸเฉเจฐเจฟเฉฐเจ— เจธเจ•เฉˆเจจเจฐ 1.0.3;

  • เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจฌเฉ‡เจธ เจกเจฟเจธเจŸเฉเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐเฉ€ เจฐเจคเจจ เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒ เจนเฉ‹ เจ—เจˆเจ†เจ‚
    CMath (cmath เจนเฉ€เจฐเจพ),
    เจธเจ•เฉˆเจจเจซ (เจธเจ•เฉˆเจจเจซ เจฐเจคเจจ),
    เจธเจผเฉˆเฉฑเจฒ (เจธเจผเฉˆเจฒ เจฐเจคเจจ),
    เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจพเจˆเจœเจผเจฐ (เจธเจฎเจ•เจพเจฒเฉ€ เจฐเจคเจจ),
    เจฅเฉเจฐเฉˆเฉฑเจกเจธเจตเฉ‡เจŸ (เจฅเจตเฉ‡เจŸ เจฐเจคเจจ),
    E2MM (e2mmap เจฐเจคเจจ)เฅค

  • เจกเจฟเจซเจพเจฒเจŸ stdlib เจฎเฉ‹เจกเฉ€เจŠเจฒ rubygems.org 'เจคเฉ‡ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ:
    เจฌเฉ‡เจ‚เจšเจฎเจพเจฐเจ•,
    cgi,
    เจกเฉˆเจฒเฉ€เจ—เฉ‡เจŸ,
    getoptlong,
    เจจเฉˆเฉฑเจŸ-เจชเฉŒเจช,
    เจจเฉˆเฉฑเจŸ เจเจธเจเจฎเจŸเฉ€เจชเฉ€,
    open3,
    pstore,
    เจธเจฟเฉฐเจ—เจฒเจŸเจจ เจฎเจพเจจเฉ€เจŸเจฐ เจฎเฉ‹เจกเฉ€เจŠเจฒ rubygems.org 'เจคเฉ‡ เจจเจนเฉ€เจ‚ เจญเฉ‡เจœเฉ‡ เจ—เจ
    เจจเจฟเจฐเฉ€เจ–เจ•,
    เจธเจฎเจพเจ‚ เจ–เจผเจคเจฎ
    เจŸเจฐเฉ‡เจธเจฐ
    uri,
    yaml, เจœเฉ‹ เจธเจฟเจฐเจซเจผ เจฐเฉ‚เจฌเฉ€-เจ•เฉ‹เจฐ เจจเจพเจฒ เจญเฉ‡เจœเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค

  • เจฌเจฟเจฒเจกเจฟเฉฐเจ— เจฐเฉ‚เจฌเฉ€ เจฒเจˆ เจนเฉเจฃ เจ‡เฉฑเจ• C เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจœเฉ‹ C99 เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

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

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