рдПрдХ рд╕рд╛рд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рдж
рдореБрдЦреНрдп
- рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ
рд╕рдорд░реНрдерди рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди (рдкреИрдЯрд░реНрди рдорд┐рд▓рд╛рди ) рджрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдпрджрд┐ рдХреЛрдИ рдкреИрдЯрд░реНрди рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рддреЛ рдПрдХ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВредрдХреЗрд╕ [0, [1, 2, 3]] рдореЗрдВ [рдП, [рдмреА, *рд╕реА]] рдкрд╛ #=> 0
рдкреАрдмреА #=> 1
рдкреАрд╕реА #=> [2] рдЕрдВрддрдХреЗрд╕ {рдП: 0, рдмреА: 1}
рдЗрди{a:0,x:1}
:рдкрд╣реБрдБрдЪрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ
{a: 0, b: var} рдореЗрдВ
рдкреА рд╡рд░ #=> 1
рд╕рдорд╛рдкреНрдд - рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдЧрдгрдирд╛ рдЖрдИрдЖрд░рдмреА (рдЖрд░рдИрдкреАрдПрд▓, рд░реАрдб-рдПрд╡рд▓-рдкреНрд░рд┐рдВрдЯ-рд▓реВрдк) рдХреЗ рд╢реЗрд▓ рдореЗрдВ рдЕрдм рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рд╕рдВрдкрд╛рджрди рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд░реАрдбрд▓рд╛рдЗрди-рд╕рдВрдЧрдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдлрд┐рд░ рд╕реЗ рдЕрд╕реНрддрд░ рд▓рдЧрд╛рдирд╛ рд░реВрдмреА рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ. rdoc рд╕рдорд░реНрдерди рдХреЛ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк irb рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрдХреНрд╖рд╛рдУрдВ, рдореЙрдбреНрдпреВрд▓ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рд╕рдВрджрд░реНрдн рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╛рдЗрдВрдбрд┐рдВрдЧ#рдЖрдИрдЖрд░рдмреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд┐рдЦрд╛рдП рдЧрдП рдХреЛрдб рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рд░рдВрдЧ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдФрд░ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдПред - рдПрдХ рдХреЙрдореНрдкреИрдХреНрдЯ рдЧрд╛рд░рдмреЗрдЬ рдХрд▓реЗрдХреНрдЯрд░ (рдХреЙрдореНрдкреЗрдХреНрд╢рди рдЬреАрд╕реА) рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЬреЛ рдореЗрдореЛрд░реА рдХреЗ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдбреАрдлрд╝реНрд░реИрдЧреНрдореЗрдиреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреБрдЫ рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рд░реВрдмреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдореЗрдореЛрд░реА рдлрд╝реНрд░реЗрдЧреНрдореЗрдВрдЯреЗрд╢рди рдХреЗ рдХрд╛рд░рдг рдзреАрдореА рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдмрдврд╝реА рд╣реБрдИ рдореЗрдореЛрд░реА рдЦрдкрдд рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдвреЗрд░ рдкрд░ рдкреИрдХ рдХрд░рдирд╛
рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдореЗрдореЛрд░реА рдкреЗрдЬреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдвреЗрд░ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GC.compact рд╡рд┐рдзрд┐
рдЧрд╛рдп (рд▓рд┐рдЦрдиреЗ рдкрд░ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐)ред -
рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕реВрдЪреА рдореЗрдВ рд╕реНрдерд┐рддрд┐ ("def foo(a,b,c)") рдФрд░ рдХреАрд╡рд░реНрдб ("def foo(key: val)") рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддрд░реНрдХреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рддреИрдпрд╛рд░реАред рдХреАрд╡рд░реНрдб рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддрд░реНрдХ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд░реВрдмреА 3.0 рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЕрдВрддрд┐рдо рддрд░реНрдХ рдХреЛ рдХреАрд╡рд░реНрдб рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ, рдХреАрд╡рд░реНрдб-рдЖрдзрд╛рд░рд┐рдд рддрд░реНрдХ рдХреЛ рдЕрдВрддрд┐рдо рд╣реИрд╢ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЕрдВрддрд┐рдо рддрд░реНрдХ рдХреЛ рд╕реНрдерд┐рддреАрдп рдФрд░ рдХреАрд╡рд░реНрдб рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИредрдбреАрдИрдПрдлрд╝ рдлреВ (рдХреБрдВрдЬреА: 42); рдЕрдВрдд; foo({рдХреБрдВрдЬреА: 42}) #рдЪреЗрддрд╛рд╡рдиреА рджреА рдЧрдИ
рдбреАрдИрдПрдлрд╝ рдлреВ(**рдХрд┐рд▓реЛрд╡рд╛рдЯ); рдЕрдВрдд; foo({рдХреБрдВрдЬреА: 42}) #рдЪреЗрддрд╛рд╡рдиреА рджреА рдЧрдИ
рдбреАрдИрдПрдлрд╝ рдлреВ (рдХреБрдВрдЬреА: 42); рдЕрдВрдд; foo(**{рдХреБрдВрдЬреА: 42}) # рдареАрдХ рд╣реИ
рдбреАрдИрдПрдлрд╝ рдлреВ(**рдХрд┐рд▓реЛрд╡рд╛рдЯ); рдЕрдВрдд; foo(**{рдХреБрдВрдЬреА: 42}) # рдареАрдХ рд╣реИрдбреАрдИрдПрдлрд╝ рдлреВ(рдПрдЪ, **рдХрд┐рд▓реЛрд╡рд╛рдЯ); рдЕрдВрдд; foo(рдХреБрдВрдЬреА: 42) #рдЪреЗрддрд╛рд╡рдиреА рджреА
рдбреАрдИрдПрдлрд╝ рдлреВ (рдПрдЪ, рдХреБрдВрдЬреА: 42); рдЕрдВрдд; foo(рдХреБрдВрдЬреА: 42) #рдЪреЗрддрд╛рд╡рдиреА рджреА
рдбреАрдИрдПрдлрд╝ рдлреВ(рдПрдЪ, **рдХрд┐рд▓реЛрд╡рд╛рдЯ); рдЕрдВрдд; foo({рдХреБрдВрдЬреА: 42}) # рдареАрдХ рд╣реИ
рдбреАрдИрдПрдлрд╝ рдлреВ (рдПрдЪ, рдХреБрдВрдЬреА: 42); рдЕрдВрдд; foo({рдХреБрдВрдЬреА: 42}) # рдареАрдХ рд╣реИdef foo(h={}, рдХреБрдВрдЬреА: 42); рдЕрдВрдд; foo('рдХреБрдВрдЬреА' => 43, рдХреБрдВрдЬреА: 42) #рдЪреЗрддрд╛рд╡рдиреА рджреА рдЧрдИ
def foo(h={}, рдХреБрдВрдЬреА: 42); рдЕрдВрдд; foo({"key" => 43, key: 42}) # рдЪреЗрддрд╛рд╡рдиреА рджреА рдЧрдИ
def foo(h={}, рдХреБрдВрдЬреА: 42); рдЕрдВрдд; foo({"рдХреБрдВрдЬреА" => 43}, рдХреБрдВрдЬреА: 42) # рдареАрдХ рд╣реИdef foo(opt={}); рдЕрдВрдд; foo(рдХреБрдВрдЬреА: 42) # рдареАрдХ рд╣реИ
рдбреАрдИрдПрдлрд╝ рдлреВ(рдПрдЪ, **рд╢реВрдиреНрдп); рдЕрдВрдд; foo(рдХреБрдВрдЬреА: 1) #ArgumentError
рдбреАрдИрдПрдлрд╝ рдлреВ(рдПрдЪ, **рд╢реВрдиреНрдп); рдЕрдВрдд; foo(**{key: 1}) # ArgumentError
рдбреАрдИрдПрдлрд╝ рдлреВ(рдПрдЪ, **рд╢реВрдиреНрдп); рдЕрдВрдд; foo("str" тАЛтАЛтАЛтАЛ=> 1) # ArgumentError
рдбреАрдИрдПрдлрд╝ рдлреВ(рдПрдЪ, **рд╢реВрдиреНрдп); рдЕрдВрдд; foo({рдХреБрдВрдЬреА: 1}) # рдареАрдХ рд╣реИ
рдбреАрдИрдПрдлрд╝ рдлреВ(рдПрдЪ, **рд╢реВрдиреНрдп); рдЕрдВрдд; foo({"str" тАЛтАЛтАЛтАЛ=> 1}) # рдареАрдХ рд╣реИрдПрдЪ = {}; def foo(*a) рдЕрдВрдд; foo(**h) # [] h = {}; def foo(рдП) рдЕрдВрдд; foo(**h) # {} рдФрд░ рдЪреЗрддрд╛рд╡рдиреА
рдПрдЪ = {}; def foo(*a) рдЕрдВрдд; foo(h) # [{}] h = {}; def foo(рдП) рдЕрдВрдд; рдлреВ(рдПрдЪ) # {} -
рдЕрд╡рд╕рд░ рдмреНрд▓реЙрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреНрд░рдорд╛рдВрдХрд┐рдд рдЪрд░ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред[1, 2, 3].рдкреНрд░рддреНрдпреЗрдХ {@1 рдбрд╛рд▓рддрд╛ рд╣реИ } # рдЬреИрд╕реЗ [1].рдкреНрд░рддреНрдпреЗрдХ { |i| рдореИрдВ рдбрд╛рд▓рддрд╛ рд╣реВрдВ }
- рдмрд┐рдирд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди рд╡рд╛рд▓реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕рдорд░реНрдердиред
ary[..3] # ary[0..3] rel.where(рдмрд┐рдХреНрд░реА: ..100) рдХреЗ рд╕рдорд╛рди
- Enumerable#tally рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реА рдЧрдИ, рдЬреЛ рдЧрд┐рдирддреА рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХрд┐рддрдиреА рдмрд╛рд░ рдЖрддрд╛ рд╣реИред
["рдП", "рдмреА", "рд╕реА", "рдмреА"].рдЯреИрд▓реА
#=> {тАЬрдПтАЭ=>1, тАЬрдмреАтАЭ=>2, тАЬрд╕реАтАЭ=>1} - рд╢рд╛рдмреНрджрд┐рдХ "рд╕реНрд╡рдпрдВ" рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдЬреА рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐
рдбрд┐рдлреВ
рд╕рдорд╛рдкреНрдд
рдирд┐рдЬреА :рдлреВ
self.foo - рдЖрд▓рд╕реА (Enumerator::Lazy) рдЧрдгрдирд╛ рд╕реЗ рдирд┐рдпрдорд┐рдд рдЧрдгрдирд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Enumerator::Lazy#eager рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реА рдЧрдИред
рдП = %w(рдлреВ рдмрд╛рд░ рдмрд╛рдЬрд╝)
рдИ = a.lazy.map {|x| x.upcase }.map {|x| рдПрдХреНрд╕ + "!" }редрдЖрддреБрд░
рдкреА рдИ.рд╡рд░реНрдЧ #=> рдкреНрд░рдЧрдгрдХ
рдИ.рдореИрдк {|x| рдПрдХреНрд╕ + "?" } #=> ["рдлреВ!?", "рдмрд╛рд░!?", "рдмрд╛рдЬрд╝!?"] - рдПрдХ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЬреЗрдЖрдИрдЯреА рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЬрд╛рд░реА рд╣реИ, рдЬреЛ рд░реВрдмреА рднрд╛рд╖рд╛ рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд░реВрдмреА рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд JIT рдХрдВрдкрд╛рдЗрд▓рд░ рдкрд╣рд▓реЗ рдбрд┐рд╕реНрдХ рдкрд░ C рдХреЛрдб рд▓рд┐рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдорд╢реАрди рдирд┐рд░реНрджреЗрд╢ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд╣рд░реА C рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ (GCC, Clang рдФрд░ Microsoft VC++ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ)ред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЗрдирд▓рд╛рдЗрди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдЕрдиреБрдХреВрд▓рди рдореЛрдб рдХрд╛ рдЪрдпрдирд╛рддреНрдордХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ, "--рдЬрд┐рдд-рдорд┐рди-рдХреЙрд▓" рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди 5 рд╕реЗ рдмрдврд╝рд╛рдХрд░ 10000 рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ "--рдЬреАрдд-рдореИрдХреНрд╕-рдХреИрд╢" 1000 рд╕реЗ 100 рддрдХ.
- CGI.escapeHTML, рдореЙрдирд┐рдЯрд░ рдФрд░ рдореЙрдирд┐рдЯрд░рдорд┐рдХреНрд╕рд┐рди рдХрд╛ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рдиред
- рдореЙрдбреНрдпреВрд▓#рдирд╛рдо, true.to_s, false.to_s, рдФрд░ nil.to_s рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛ рджреА рдЧрдИ рд╣реИ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реИред
- RubyVM::InstructionSequence#to_binary рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рдХрдо рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- рдЕрдВрддрд░реНрдирд┐рд░реНрдорд┐рдд рдШрдЯрдХреЛрдВ рдХреЗ рдЕрджреНрдпрддрди рд╕рдВрд╕реНрдХрд░рдг, рдЬрд┐рдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
рдмрдВрдбрд▓рд░ 2.1.2, рд░реВрдмреАрдЬреЗрдореНрд╕ 3.1.2,
рдЖрд░рдПрд╕реА 1.4.15,
рд╕реАрдПрд╕рд╡реА 3.1.2, рдЖрд░рдИрдПрдХреНрд╕рдПрдордПрд▓ 3.2.3,
рдЖрд░рдПрд╕рдПрд╕ 0.2.8,
рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдХреИрдирд░ 1.0.3; - рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдмреЗрд╕ рдкреИрдХреЗрдЬ рд╕реЗ рдмрд╛рд╣рд░реА рдЬреЗрдо рдкреИрдХреЗрдЬ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рд╕реАрдПрдорде (рд╕реАрдореИрде рд░рддреНрди),
рд╕реНрдХреИрдирдл (рд╕реНрдХреИрдирдл рд░рддреНрди),
рд╢рдВрдЦ (рд╢реИрд▓ рд░рддреНрди),
рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд░ (рд╕рд┐рдВрдХ рд░рддреНрди),
рдереНрд░реЗрдбреНрд╕рд╡реЗрдЯ (рдерд╡реЗрдЯ рд░рддреНрди),
E2MM (e2mmap рд░рддреНрди)ред - рдбрд┐рдлрд╝реЙрд▓реНрдЯ stdlib рдореЙрдбреНрдпреВрд▓ Rubygems.org рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ:
рддрд▓ рдЪрд┐рд╣реНрди,
Cgi,
рдкреНрд░рддрд┐рдирд┐рдзрд┐,
getoptlong,
рдиреЗрдЯ рдкреЙрдк,
рдиреЗрдЯ-рдПрд╕рдПрдордЯреАрдкреА
рдЦреБрд▓рд╛3,
рдкреАрд╕реНрдЯреЛрд░,
рд╕рд┐рдВрдЧрд▓рдЯрди. рдореЙрдирд┐рдЯрд░ рдореЙрдбреНрдпреВрд▓ рдХреЛ Rubygems.org рдкрд░ рдирд╣реАрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛
рджреЗрдЦрдиреЗ рд╡рд╛рд▓рд╛,
рд╕рдордп рд╕рдорд╛рдкреНрдд,
рдЯреНрд░реЗрд╕рд░,
рдЙрд░реА,
yaml, рдЬреЛ рдХреЗрд╡рд▓ рд░реВрдмреА-рдХреЛрд░ рдХреЗ рд╕рд╛рде рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред - рд░реВрдмреА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЕрдм рдПрдХ C рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ C99 рдорд╛рдирдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реЛред
рд╕реНрд░реЛрдд: opennet.ru