ื ืึธื ืึท ืืึธืจ ืคืื ืึทื ืืืืืงืืื ื
ืืืืคึผื
- ืืงืกืคึผืขืจืืขื ืึทื
ืฉืืืฆื ืืืกืืขืจ ืจืืืื (ืืืกืืขืจ ืจืืืื ) ืฆื ืืืขืจืืื ืืืืขืจ ืื ืืขืืขืื ืืืืคืขืฅ ืืื ืืึทืฉืืืืขื ืึท ืืืขืจื ืืืื ืขืก ืืื ืึท ืืืกืืขืจ ืืืืึทืื.ืคืึทื [0, [1, 2, 3]] ืืื [ืึท, [ื, *c]] ืคึผืึท #=> 0
pb #=> 1
ืคึผืืกื #=> [2, 3] ืกืืฃืคืึทื {ืึท: 0, ื: 1}
ืืื {ืึท:0,ืงืก:1}
:ืื ืจืืืฉืึทืืึทื
ืืื {ืึท: 0, ื: ืืืึทืจ}
p var #=> 1
ืขืง - ืื ืฉืึธื ืคืื ืื ืืขืจืึทืงืืืื ืืฉืืื ืืช ืืจื (REPL, Read-Eval-Print-Loop) ืืืฆื ืืื ืื ืืขืืืขืืงืืื ืคืื ืืืืื-ืฉืืจื ืขืืืืื ื, ืืืคึผืืึทืืขื ืึทื ืืื ืึท ืจืขืืืื ืข-ืงืึทืืคึผืึทืืึทืืึทื ืืืืืืึธืืขืง
ืจืขืืืื ืืขืฉืจืืื ืืื ืจืืื. ืกืืคึผืคึผืึธืจื ืคึฟืึทืจ rdoc ืืื ืื ืึทืืจืืืืื, ืืืึธืก ืึทืืึทืื ืืืืืื ื ืจืขืคึฟืขืจืขื ืฅ ืืื ืคึฟืึธืจืืึทืฆืืข ืืืืฃ ืกืคึผืขืกืืคืืขื ืงืืืกื, ืืึทืืืฉืืื ืืื ืืขืืืึธืืก ืืื ืืจื. ืืื ื ืืืืืืืืื ื ืคืื ืฉืืจืืช ืืื ืงืึธื ืืขืืืืื ืืืจื Binding #irb ืืื ืจืขืืืืืึทืื ืคืื ืื ืกืคึผืขืงืืื ื ืืึทืืข ืงืืึทืก ืึทืืืืฉืขืงืฅ ืืื ืฆืืืขืฉืืขืื. - ื ืงืึธืืคึผืึทืงืืืึธื ืืง ืืื ืฆืืืขืืืืื ืืืึธืก ืงืขื ืขื ืืขืคืจืึทืืืขื ื ืึท ืืขืื ื ืคืื ืืึผืจืื, ืกืึทืืืืื ื ืื ืคึผืจืึธืืืขืืก ืคืื ืคึผืึทืืขืืขื ืคืึธืจืฉืืขืืื ื ืืื ืืขืืืืงืกื ืืึผืจืื ืงืึทื ืกืึทืืฉืึทื ืจืขืื ืฆื ืืึผืจืื ืคืจืึทืืืึทื ืืืืฉืึทื ืืืึธืก ืึทืงืขืจื ืืขืฉืึทืก ืื ืึธืคึผืขืจืึทืฆืืข ืคืื โโืขืืืขืืข ืืืืืืืืจืขืึทื ืจืืื ืึทืคึผืืึทืงืืืฉืึทื ื. ืฆื ืคึผืึทืงื ืึทืืืืฉืขืงืฅ ืืืืฃ ืืขืจ ืงืืคึผืข
ืคืึธืจืฉืืึธืื GC.compact ืืืคึฟื ืฆื ืจืขืืืฆืืจื ืื ื ืืืขืจ ืคืื ืืืงืึธืจื ืืืขืืขืจ ืืขื ืืฆื ืืื ืึทืคึผืืึทืืืื ืื ืงืืคึผืข ืคึฟืึทืจ ืึทืคึผืขืจืืืฉืึทื ื
CoW (ืงืึธืคึผื-ืืืืฃ-ืฉืจืืึทืื). -
ืืืจืืืขืคืืจื ืคึผืจืืคึผืขืจืื ื ืฆื ืืึทืืื ืืขืจ ืึทืจืืืืขื ืื ืืืืืจื ืืืืฃ ืฉืืขืืข ืืื ืืขืจ ืจืฉืืื ("ืืขืฃ ืคืึธืึธ (ืึท, ื, C)") ืืื ืืขืจืืื ืขื ("ืืขืฃ ืคืึธืึธ (ืฉืืืกื: ืืืึทื)"). ืึธืืึทืืึทืืืง ืึทืจืืืืขื ื ืงืึทื ืืืขืจืืฉืึทื ืืืืืจื ืืืืฃ ืืขืจืืื ืขื ืืื ืฉืืขืืข ืืื ืืืคึผืจืืฉืืืืืื ืืื ืืืขื ื ืืฉื ืืืื ืืขืฉืืืฆื ืืื ืื Ruby 3.0 ืฆืืืืึทื. ืืื ืืึทืืื ืืขืจ, ืขืก ืืื ืืขืืืขื ืืืคึผืจืืฉืืืืืื ืฆื ื ืืฆื ืื ืืขืฆืืข ืึทืจืืืืขื ื ืืื ืงืืืืขืจื ืคึผืึทืจืึทืืขืืขืจืก, ืฆื ืคืึธืจื ืงืืืืขืจื-ืืืืืจื ืึทืจืืืืขื ืื ืืื ืื ืืขืฆืืข ืืึทืฉ ืคึผืึทืจืึทืืขืืขืจ, ืืื ืฆื ืฉืคึผืึทืืื ืื ืืขืฆืืข ืึทืจืืืืขื ื ืืื ืคึผืึธืกืืืืึธื ืึทื ืืื ืงืืืืขืจื ืคึผืึทืจืึทืืขืืขืจืก.def foo (ืฉืืืกื: 42); ืกืืฃ; foo ({ ืฉืืืกื: 42}) # ืืขืืืืจื ื
ืืขืฃ ืคืึธืึธ (**ืงืื); ืกืืฃ; foo ({ ืฉืืืกื: 42}) # ืืขืืืืจื ื
ืืขืฃ ืคืึธืึธ (ืฉืืืกื: 42); ืกืืฃ; foo (**{ ืฉืืืกื: 42}) # ืืื
ืืขืฃ ืคืึธืึธ (**ืงืื); ืกืืฃ; foo (**{ ืฉืืืกื: 42}) # ืืืืืขืฃ ืคืึธืึธ (ื, **ืงืื); ืกืืฃ; foo (ืฉืืืกื: 42) #ืืขืืืืจื ื
def foo (ื, ืฉืืืกื: 42); ืกืืฃ; foo (ืฉืืืกื: 42) #ืืขืืืืจื ื
ืืขืฃ ืคืึธืึธ (ื, **ืงืื); ืกืืฃ; foo ({ ืฉืืืกื: 42}) # ืืื
ืืขืค ืคื (ื, ืฉืืืกื: 42); ืกืืฃ; foo ({ ืฉืืืกื: 42}) # ืืืืืขืฃ ืคืึธืึธ (ื = {}, ืฉืืืกื: 42); ืกืืฃ; foo("key" => 43, ืฉืืืกื: 42) #ืืืึธืจื ื
ืืขืฃ ืคืึธืึธ (ื = {}, ืฉืืืกื: 42); ืกืืฃ; foo({"key" => 43, ืฉืืืกื: 42}) # ืืขืืืืจื ื
ืืขืฃ ืคืึธืึธ (ื = {}, ืฉืืืกื: 42); ืกืืฃ; foo({"key" => 43}, ืฉืืืกื: 42) # ืืืืืขืฃ ืคืึธืึธ (ืึธืคึผื = {}); ืกืืฃ; foo ( ืฉืืืกื: 42 ) # ืืื
ืืขืฃ ืคืึธืึธ (ื, ** ื ืื); ืกืืฃ; foo (ืฉืืืกื: 1) # ืึทืจืืืืขื ื ืืขืืช
ืืขืค ืคืึธืึธ (ื, ** ื ืื); ืกืืฃ; foo (**{ ืฉืืืกื: 1}) # ืึทืจืืืืขื ื ืืขืืช
ืืขืฃ ืคืึธืึธ (ื, ** ื ืื); ืกืืฃ; foo ("str" โโ=> 1) # ืึทืจืืืืขื ื ืืขืืช
ืืขืฃ ืคืึธืึธ (ื, ** ื ืื); ืกืืฃ; foo ({ ืฉืืืกื: 1}) # ืืื
ืืขืฃ ืคืึธืึธ (ื, ** ื ืื); ืกืืฃ; foo({"str"=> 1}) # ืืืื = {}; ืืขืฃ ืคืึธืึธ (* ืึท) ืกืืฃ; ืคืึธืึธ (** ื) # [] ื = {}; ืืขืฃ ืคืึธืึธ (ืึท) ืกืืฃ; foo(**h) # {} ืืื ืืืืจืขื ืื ื
ื = {}; ืืขืฃ ืคืึธืึธ (* ืึท) ืกืืฃ; ืคืึธืึธ (ื) # [{}] ื = {}; ืืขืฃ ืคืึธืึธ (ืึท) ืกืืฃ; ืคืึธืึธ (ื) # {} -
ืืขืืขืื ืืืื ื ืืฆื ืืขืฆืืืื ืืืึทืืขืืืืืง ื ืขืืขื ืืืจื ืคืขืืืงืืึทื ืคึฟืึทืจ ืืืึธืง ืคึผืึทืจืึทืืขืืขืจืก.[1, 2, 3] .ืืขืืขืจ { ืืืืื @1 } # ืืื [1, 2, 3].ืืขืืขืจ { |i| ืืืืื ืืื}
- ืขืงืกืคึผืขืจืืืขื ืืึทื ืฉืืืฆื ืคึฟืึทืจ ืจืืื ืืืฉืึทื ืืื ืงืืื ืขืจืฉื ืืืขืจื.
ary[..3] # ืืขืืืืงืขืจ ืืื ary[0..3] rel.where(ืคืืจืงืืืคืื ื: ..100)
- ืฆืืืขืืขืื ืื Enumerable#tally ืืืคึฟื, ืืืึธืก ืงืึทืื ืฅ ืืื ืคืืืข ืืึธื ืืขืืขืจ ืขืืขืืขื ื ืึทืงืขืจื.
["ืึท", "ื", "c", "ื"]
#=> {"a"=>1, "ื"=>2, "c"=>1} - ืคึผืจืืืืึทื ืืืคึฟื ืจืืคื ืขืจืืืืื ืืื "ืืื" ืืืืขืจืึทื
deffoo
ืขืง
ืคึผืจืืืืึทื :foo
self.foo - ืฆืืืขืืืืื ืื ืขื ืืืขืจืึทืืึธืจ :: ืคืืื# ืืึธืขื ืืืคึฟื ืฆื ืืืฉืขื ืขืจืืื ืึท ื ืึธืจืืึทื ื ืืืขืจืืืฉืึทื ืคืื ืึท ืคืืื (ืขื ืืืขืจืึทืืึธืจ:: ืคืืื) ื ืืืขืจ.
ืึท = %w(ืคืึธืึธ ืืึทืจ ืืึทื)
e = a.lazy.map {|x| x.upcase }.map {|x| ืจืขื ืืืขื + "!" }.ืืืืื
p e.class #=> ืขื ืืืขืจืึทืืึธืจ
e.map {|x| ืจืขื ืืืขื + "?" } #=> ["FOO!?", "BAR!?", "BAZ!?"] - ืื ืึทื ืืืืืงืืื ื ืคืื ืึทื ืืงืกืคึผืขืจืืขื ืึทื JIT ืงืึทืืคึผืืืืขืจ ืืื ืคืืจืืืืื, ืืืึธืก ืงืขื ืขื ืืืืืืืืง ืคึฟืึทืจืืขืกืขืจื ืื ืคืึธืจืฉืืขืืื ื ืคืื ืึทืคึผืืึทืงืืืฉืึทื ื ืืื ืื Ruby ืฉืคึผืจืึทื. ืืขืจ JIT ืงืึทืืคึผืืืืขืจ ืคืืจืืขืืืืื ืืื Ruby ืขืจืฉืืขืจ ืฉืจืืืื C ืงืึธื ืฆื ืืืกืง, ื ืึธื ืืืึธืก ืขืก ืจืืคื ืึท ืคืื ืืจืืืกื ืืืง C ืงืึทืืคึผืืืืขืจ ืฆื ืืืฉืขื ืขืจืืื ืืึทืฉืื ืืื ืกืืจืืงืฆืืขืก (GCC, Clang ืืื Microsoft VC ++ ืืขื ืขื ืืขืฉืืืฆื). ืื ื ืืึทืข ืืืขืจืกืืข ืืืคึผืืึทืืึทื ืฅ ืึท ืืขืืึธื ืคึฟืึทืจ ืื ืืื ืข ืืืคึผืืืืืึทื ื ืืืื ื ืืืืืง, ืกืขืืขืงืืืื ืึทืคึผืืึทืงืืืฉืึทื ืคืื ืึทืคึผืืึทืืึทืืืืฉืึทื ืืึธืืขืก ืืขืฉืึทืก ืืึทืืืื ื, ืื ืคืขืืืงืืึทื ืืืขืจื ืคืื "--jit-min-calls" ืืื ืืขืืืืงืกื ืคืื 5 ืฆื 10000, ืืื "--jit-max-cache" ืคืื 1000 ืฆื 100.
- ืืืคึผืจืืืื ืคืึธืจืฉืืขืืื ื ืคืื CGI.escapeHTML, Monitor ืืื MonitorMixin.
- ืืึธืืืืข # ื ืึธืืขื, true.to_s, false.to_s, ืืื nil.to_s ืขื ืฉืืจ ืึทื ืึท ืฉืืจืืงื ืืื ืืืืืขืงืขืจื ืืืึธืก ืืื ืึทื ืืฉืืื ืืืฉื ืคึฟืึทืจ ืื ืกืคึผืขืกืืคืืขื ืืืืคืขืฅ.
- ืื ืืจืืืก ืคืื ืืืื ืขืจื ืืขืงืขืก ืืืฉืขื ืขืจืืืืึทื ืืืจื ืื RubyVM::InstructionSequence#to_binary ืืืคึฟื ืืื ืจืืืืกื;
- ืืขืจืืืึทื ืืืงื ืืืขืจืกืืขืก ืคืื ืืขืืืื-ืืื ืงืึทืืคึผืึธืื ืึทื ืฅ, ืึทืจืืึทื ืืขืจืขืื ื
ืืื ืืืขืจ 2.1.2, RubyGems 3.1.2,
ืจืึทืงืง 1.4.15,
ืงืกืื 3.1.2, REXML 3.2.3,
RSS 0.2.8,
ืฉืืจืืงื ืกืงืึทื ื ืขืจ 1.0.3; - ืืืืจืึทืจืืขืก ืืจืืืขืจืืขืคืืจื ืคืื ืืึทืืข ืคืึทืจืฉืคึผืจืืืืื ื ืฆื ืคืื ืืจืืืกื ืืืง ืืืืืฉืืืื ืคึผืึทืงืึทืืืฉืึทื
ืงืืึทื (ืงืืึทื ืืืืืฉืืืื),
Scanf (Scanf gem),
ืฉืึธื (ืฉืึธื ืืืืืฉืืืื),
ืกืื ืืฉืจืึธื ืืืขืจ (ืกืื ืง ืืืืืฉืืืื),
ThreadsWait (ืืืืืื ืืืืืฉืืืื),
ืข2ืื (ืข2ืืืึทืคึผ ืืืืืฉืืืื). - ืื ืคืขืืืงืืึทื ืกืืืืื ืืึทืืืฉืืื ืืขื ืขื ืืจืืืก ืืืืฃ rubygems.org:
ืืขื ืืฉืืึทืจืง,
ืงืื,
ืืขืืขืืึทื,
ืืขืืืค ืืื ื,
ื ืขืฅ ืคึผืึธืคึผ,
ื ืขืฅ ืกืืืคึผ,
ืขืคืขื ืขื 3,
ืคึผืกืืึธืจืข,
ืกืื ืืืขืืึธื. ืืึธื ืืืึธืจ ืืึทืืืฉืืื ื ืื ืืจืืืขืจืืขืคืืจื ืฆื rubygems.org
ืืืืขืขืจ,
ืฆืืื ืืืืก,
ืืจืืืกืขืจ,
ืืืจื,
ืืึทืื, ืืืึธืก ืืขื ืขื ืืืืื ืฉืืคึผื ืืื ืจืืื-ืืึทืจืฅ. - ืืืืืื ื ืจืืื ืืืฆื ืจืืงืืืืืขืจื ืึท C ืงืึทืืคึผืืืืขืจ ืืืึธืก ืฉืืืฆื ืื C99 ื ืึธืจืืึทื.
ืืงืืจ: opennet.ru