เบซเบผเบฑเบเบเบฒเบเบเบตเบเบญเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ
เบเบปเปเบโเบเป
- เบเบปเบเบฅเบญเบ
เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ เบเบฒเบโเบเบฑเบโเบเบนเปโเบฎเบนเบโเปเบเบ (เบเบฒเบเบเบฑเบเบเบนเปเบฎเบนเบเปเบเบ ), เปเบเบดเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบ iterate เปเบเปเบฅเบเบฐเบงเบฑเบเบเบธเบเบตเปเปเบซเปเปเบฅเบฐเบเปเบฒเบซเบเบปเบเบเปเบฒเบเปเบฒเบซเบฒเบเบงเปเบฒเบกเบตเบเบฒเบเบเบฑเบเบเบนเปเบเบฑเบเบฎเบนเบเปเบเบ.case [0, [1, 2, 3]] เปเบ [a, [b, *c]] pa #=> 0
pb #=>1
pc #=> [2, 3] เบเบปเบเบเปเบฅเบฐเบเบต {a: 0, b: 1}
เปเบ{a:0,x:1}
:เบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเป
เปเบ {a: 0, b: var}
p var #=> 1
เปเบเบเบญเบเบเปเบฒเบ - เปเบเบฐเบเบญเบเบเบฒเบเบเบดเบเปเบฅเปเปเบเบเปเบเปเบเบญเบ irb (REPL, Read-Eval-Print-Loop) เปเบเบเบฑเบเบเบธเบเบฑเบเบกเบตเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเบฑเบเปเบเปเบซเบผเบฒเบเปเบเบง, เบเบฐเบเบดเบเบฑเบเปเบเบเปเบเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบตเปเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบฑเบ readline.
reline เบเบฝเบเปเบ Ruby. เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ rdoc เปเบเปเบเบทเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบ, เบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบเปเปเบกเบนเบเบญเปเบฒเบเบญเบตเบเบเปเบฝเบงเบเบฑเบเบซเปเบญเบเบฎเบฝเบ, เปเบกเบเบนเบเปเบฅเบฐเบงเบดเบเบตเบเบฒเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบ irb. เบชเบฐเบซเบเบญเบเบเบฒเบเปเบเบฑเปเบเบชเบตเบเบญเบเบชเบฒเบเบเบญเบเบฅเบฐเบซเบฑเบเบเบตเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเปเบเบเบเปเบฒเบเบเบฒเบ Binding #irb เปเบฅเบฐเบเบปเบเบเบญเบเบเบฒเบเบเบงเบเบเบฒเบงเบฑเบเบเบธเบเบฑเปเบเบเบทเปเบเบเบฒเบ. - เปเบเบตเปเบกเบเบปเบงเปเบเบฑเบเบเบตเปเปเบซเบเบทเปเบญเบเบตเปเบซเบเบฒเปเบซเบเปเบ (Compaction GC) เบเบตเปเบชเบฒเบกเบฒเบ defragment เบเบฒเบเบเบทเปเบเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เปเบเปเปเบเบเบฑเบเบซเบฒเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเปเบฒเปเบฅเบฐเบเบฒเบเบเปเบฅเบดเปเบเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเบตเปเบกเบเบถเปเบเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเปเบเบเปเบเบเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบตเปเปเบเบตเบเบเบถเปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ Ruby เบซเบผเบฒเบ threaded เบเบฒเบ. เบเบฒเบเบซเบธเปเบกเบซเปเปเบงเบฑเบเบเบธเปเบชเป heap เปเบเป
เบชเบฐเปเปเบต เบงเบดเบเบตเบเบฒเบ GC.compact เปเบเบทเปเบญเบซเบผเบธเบเบเปเบญเบเบเปเบฒเบเบงเบเบซเบเปเบฒเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบเบตเปเปเบเปเปเบฅเบฐเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบญเบ heap เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบ
CoW (copy-on-write). -
เบเบฐเบเบดเบเบฑเบ เบเบฒเบเบเบฐเบเบฝเบกเปเบเบทเปเบญเปเบเบเบเบฒเบเปเบเปเบเบฝเบเปเบเบเบญเบตเบเปเบชเปเบเปเบฒเปเบซเบเปเบเปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเป ("def foo(a,b,c)") เปเบฅเบฐเบเปเบฒเบชเปเบฒเบเบฑเบ ("def foo(key: val)"). เบเบฒเบเบเปเบฝเบเบเบฒเบเปเบเปเบเบฝเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเบเบญเบตเบเปเบชเปเบเปเบฒเบชเปเบฒเบเบฑเบเปเบฅเบฐเบเปเบฒเปเบซเบเปเบเปเบเปเบเบทเบเบเบฐเบเบดเปเบชเบเปเบฅเบฐเบเบฐเบเปเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเปเบเบชเบฒเบเบฒ Ruby 3.0. เปเบเบเบชเบฐเปเบเบฒเบฐ, เบกเบฑเบเปเบเปเบเบทเบเบเบฐเบเบดเปเบชเบเบเบตเปเบเบฐเปเบเปเบเบฒเบเปเบเปเบเบฝเบเบชเบธเบเบเปเบฒเบเปเบเบฑเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเปเบฒเบชเปเบฒเบเบฑเบ, เบเปเบฒเบเบเบฒเบเปเบเปเบเบฝเบเบเปเบฒเบเบตเปเปเบเปเปเบเบฑเบเบเบฒเบฅเบฒเบกเบดเปเบเบต hash เบชเบธเบเบเปเบฒเบ, เปเบฅเบฐเปเบเบเบเบฒเบเปเบเปเบเบฝเบเบชเบธเบเบเปเบฒเบเปเบเบปเปเบฒเปเบเปเบเบเปเบฒเปเบซเบเปเบเปเบฅเบฐเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเปเบฒเบซเบฅเบฑเบ.def foo(เบเบต: 42); เบชเบดเปเบเบชเบธเบ; foo({key: 42}) #เปเบเบทเบญเบ
def foo(**kw); เบชเบดเปเบเบชเบธเบ; foo({key: 42}) #เปเบเบทเบญเบ
def foo(เบเบต: 42); เบชเบดเปเบเบชเบธเบ; foo(**{key: 42}) # เบเบปเบเบฅเบปเบ
def foo(**kw); เบชเบดเปเบเบชเบธเบ; foo(**{key: 42}) # เบเบปเบเบฅเบปเบdef foo(h, **kw); เบชเบดเปเบเบชเบธเบ; foo(key: 42) # เปเบเบทเบญเบ
def foo(h, เบเบต: 42); เบชเบดเปเบเบชเบธเบ; foo(key: 42) # เปเบเบทเบญเบ
def foo(h, **kw); เบชเบดเปเบเบชเบธเบ; foo({key: 42}) # เบเบปเบเบฅเบปเบ
def foo(h, เบเบต: 42); เบชเบดเปเบเบชเบธเบ; foo({key: 42}) # เบเบปเบเบฅเบปเบdef foo(h={}, เบซเบผเบฑเบ: 42); เบชเบดเปเบเบชเบธเบ; foo("เบเบต" => 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(key: 1) # ArgumentError
def foo(h, **nil); เบชเบดเปเบเบชเบธเบ; foo(**{key: 1}) # ArgumentError
def foo(h, **nil); เบชเบดเปเบเบชเบธเบ; foo("str" โโโ> 1) # ArgumentError
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) a end; foo(h) # [{}] h = {}; def foo(a) เบชเบดเปเบเบชเบธเบ; foo(h) # {} -
เปเบญเบเบฒเบ เบเบฒเบโเบเปเบฒโเปเบเปโเบเบปเบงโเบเปเบฝเบโเปเบฅเบโเบเบทเปโเปเบเบโเปเบฅเบตเปเบกโเบเบปเปเบโเบชเปเบฒโเบฅเบฑเบโเบเบปเบงโเบเปเบฒโเบเบปเบโเบเบฒเบ block.[1, 2, 3].each { puts @1 } # เบญเบฑเบเบเบฝเบงเบเบฑเบเบเบฑเบ [1, 2, 3].each { |i| เปเบฎเบฑเบเปเบซเปเบเปเบญเบ }
- เบเบฒเบเบเบปเบเบฅเบญเบเบฎเบญเบเบฎเบฑเบเปเบฅเบเบฐเบเบตเปเบเปเปเบกเบตเบเปเบฒเปเบเบทเปเบญเบเบเบปเปเบ.
ary[..3] # เบเปเบฒเบเบเบฑเบ ary[0..3] rel.where(เบเบฒเบ: ..100)
- Added Enumerable#tally method, เปเบเบดเปเบเบเบฑเบเบเปเบฒเบเบงเบเบเบฑเปเบเบเบตเปเปเบเปเบฅเบฐเบญเบปเบเบเบฐเบเบญเบเปเบเบตเบเบเบถเปเบ.
["a", "b", "c", "b"].tally
#=> {"a"=>1, "b">2, "c" => 1} - เบเบฒเบเปเบเบเปเบงเบเบงเบดเบเบตเบชเปเบงเบเบเบปเบงเบเบตเปเบญเบฐเบเบธเบเบฒเบเบเปเบงเบเบเบปเบงเปเบฑเบเบชเบท "เบเบปเบเปเบญเบ".
defoo
เปเบเบเบญเบเบเปเบฒเบ
เปเบญเบเบฐเบเบปเบ: foo
self.foo - Added Enumerator::Lazy #เบงเบดโเบเบตโเบเบฒเบโเบเบฐโเบเบทโเบฅเบทโเบฅเบปเปเบโเปเบโเบเบฒเบโเบชเปเบฒเบโเบเบฒเบโเบเบฑเบโเบเปเบฒโเบเบงเบโเบเบปเบโเบเบฐโเบเบดโเบเบฒเบ enumerator lazy (Enumerator::Lazy).
a = %w(foo bar baz)
e = a.lazy.map {|x| x.upcase }.เปเบเบเบเบตเป {|x| x + "!" }.เบเบฐเบเบทเบฅเบทเบฅเบปเปเบ
p e.class #=> Enumerator
e.map {|x| x + "?" } #=> [โFOO!?โ, โBAR!?โ, โBAZ!?โ] - เบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ compiler JIT เบเบปเบเบฅเบญเบเปเบเปเบชเบทเบเบเปเป, เปเบเบดเปเบเบชเบฒเบกเบฒเบเบเบฑเบเบเบธเบเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเบเบฒเบชเบฒ Ruby เบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ. Ruby's JIT compiler เบเปเบฒเบญเบดเบเบเบฝเบเบฅเบฐเบซเบฑเบ C เปเบชเปเปเบเปเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบซเบฒ C compiler เบเบฒเบเบเบญเบเปเบเบทเปเบญเบชเปเบฒเบเบเปเบฒเปเบเบฐเบเปเบฒเบเบญเบเปเบเบทเปเบญเบเบเบฑเบ (เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบฒเบเปเบเบซเบฒ GCC, Clang, เปเบฅเบฐ Microsoft VC++). เบชเบฐเบเบฑเบเปเบซเบกเปเบเบฐเบเบดเบเบฑเบเบงเบดเบเบตเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเป inline เบเปเบฒเบเปเบฒเปเบเบฑเบ, เบเบฒเบเปเบฅเบทเบญเบเบฎเบนเบเปเบเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเปเบกเปเบเบฎเบฑเบเบเบฐเบเบฑเบ, เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบ "--jit-min-calls" เปเบกเปเบเปเบเบตเปเบกเบเบถเปเบเบเบฒเบ 5 เบซเบฒ 10000, เปเบฅเบฐ "--jit-max- cacheโ เบเบฒเบ 1000 เบซเบฒ 100 .
- เบเบฑเบเบเบธเบเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบญเบ CGI.escapeHTML, Monitor เปเบฅเบฐ MonitorMixin.
- Module#name, true.to_s, false.to_s, เปเบฅเบฐ nil.to_s เบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเบชเบฐเบเบฃเบดเบเบเบทเบเบชเบปเปเบเบเบทเบเบเบตเปเบเปเปเบเปเบฝเบเปเบเบเบชเปเบฒเบฅเบฑเบเบงเบฑเบเบเบธเบเบตเปเบฅเบฐเบเบธ.
- เบเบฐเปเบฒเบเบเบญเบเปเบเบฅเปเบเบนเปเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบเบ RubyVM::InstructionSequence#to_binary method เปเบเปเบเบทเบเบซเบผเบธเบเบฅเบปเบ;
- เบชเบฐเบเบฑเบเบเบฑเบเบเบธเบเบเบญเบเบญเบปเบเบเบฐเบเบญเบเปเบเบเบปเบง, เบฅเบงเบกเบเบฑเบ
Bundler 2.1.2, RubyGems 3.1.2,
Racc 1.4.15,
CSV 3.1.2, REXML 3.2.3,
RSS 0.2.8,
String Scanner 1.0.3; - เบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบเปเบเปเบฒเบเบเบฒเบเบเบฒเบเปเบเบเบขเบฒเบเบเบทเปเบเบเบฒเบเปเบเบชเบนเปเบเบธเบเปเบเปเบงเบเบฐเปเบชเบตเบเบเบฒเบเบเบญเบ
CMath (เปเบเปเบงเบเบฐเปเบชเบตเบ cmath),
เบชเบฐเปเบเบ (scanf gem),
Shell (เปเบเปเบงเบเบฐเปเบชเบตเบเปเบเบฐ)
Synchronizer (Sync gem),
เบเบฐเบเบนเปเบฅเปเบเปเบฒ (thwait gem),
E2MM (e2mmap gem). - เปเบกเบเบนเบ stdlib เปเบฅเบตเปเบกเบเบปเปเบเบเบทเบเบเบตเบเบดเบกเบขเบนเปเปเบ rubygems.org:
เบกเบฒเบเบเบฐเบเบฒเบ,
cgi,
เบเบนเปโเปเบเบโ,
getoptlong,
Net Pop,
เบชเบธเบเบเบด smtp,
เปเบเบตเบ 3,
pstore,
เปเบชเบเบเบฑเบ. เปเบกเบเบนเบเบเบดเบเบเบฒเบกเบเบงเบเบเบฒเบเปเปเปเบเปเบเปเบฒเบเปเบ rubygems.org
เบเบฑเบโเบชเบฑเบโเปเบเบโเบเบฒเบโ,
เบซเบกเบปเบโเปเบงโเบฅเบฒ,
เบเบดเบเบเบฒเบก,
uri,
yaml, เปเบเบดเปเบเบเบทเบเบชเบปเปเบเบเบฑเบเบเบฝเบเปเบเป ruby-core. - เบเบฒเบเบเปเปเบชเปเบฒเบ Ruby เปเบเบเบฑเบเบเบธเบเบฑเบเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบฅเบงเบเบฅเบงเบก C เบเบตเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบกเบฒเบเบเบฐเบเบฒเบ C99.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru