рд╢реАрд░реНрд╖рдХ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдпрд╣ рд░реЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░реВрдмреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд░реВрдмреА рдмреНрд▓реЙрдЧ рдкрд░ рдЗрд╕ рдЕрдиреБрд╡рд╛рдж рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛редрд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдордЖрд░рдЖрдИ рд░реВрдмреА рд░рд┐рд▓реАрдЬ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░рддреЗ рд╕рдордп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдордВрджреА рджрд┐рдЦрд╛рддреА рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рд╣рдорд╛рд░реЗ рдФрд╕рдд рд░реЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рдЧрднрдЧ 2200 рдмрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдпрд╣ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдЧреНрд░рд╛рдл рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╣реИред рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред 1.9.2 рдкрд░, рдЖрд╡реЗрджрди 20 рд╕реЗрдХрдВрдб рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ 1.9.3 рдкрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 46 рд╣реИред рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ!
рдЗрд╕рдХреЗ рдХрдИ рдХрд╛рд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ, рдЬреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
def require(file) $loaded.each do |x| return false if x == file end load(file) $loaded << file end
рд╕рднреА рдмреНрд░реЗрдХ рдЪрдХреНрд░ рд╕реЗ рдЖрддреЗ рд╣реИрдВ, рдФрд░ рдЬрд┐рддрдиреА рдЕрдзрд┐рдХ рдлрд╛рдЗрд▓реЗрдВ рд╣рдо рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЙрддрдирд╛ рд╣реА рд╕рдм рдХреБрдЫ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ 1.9.3 рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рд▓рд┐рдЦрд╛, рдЬреЛ рдмреНрд░реЗрдХ рдЪрдХреНрд░ рдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрджрд▓рддрд╛ рд╣реИ:
def require(file) return false if $loaded[file] load(file) $loaded[file] = true end
рдФрд░ рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ:

рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛!
рдпреЗ рдЦрд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдереЗрдЯрд┐рдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рднреВрдЦрдВрдб рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреИрдЪ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рддреНрд╡рд░рдг рджреЗрддрд╛ рд╣реИред рдореЗрд░рд╛
рдЖрд╡реЗрджрди рдЕрдм рд▓рдЧрднрдЧ 10 рд╕реЗрдХрдВрдб рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдпрд╣ 1.9.2 рдкрд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ред 20. рдПрдХ рдЦрд╛рд▓реА рдЖрд╡реЗрджрди рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ 1.1 рд╕реЗрдХрдВрдб рдореЗрдВ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ 1.8.7 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рднреА рддреЗрдЬ рд╣реИ

рдкреИрдЪ рдХреИрд╕реЗ рдХрд░реЗрдВ
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рдЖрд░рд╡реАрдПрдо рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЖрдкрдХреЛ 10 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛ред
рдореИрдВ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ
рдореБрдЭреЗ рдореБрдЦреНрдп рдЯреНрд░рдВрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреИрдЪ рдкрд░ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдмрд╣реБрдд рдорджрдж рдорд┐рд▓реА:
- рд╣рдордиреЗ рдЙрдирдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рдкреИрдЪ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рд░рдирдЯрд╛рдЗрдо рдХреЛ рд▓рд┐рдЦрд╛ред
- рд╣рдордиреЗ рдЬреАрдердм рдкрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдХреЛрдб рдХреЛ рджреЗрдЦрд╛ (рднрд╛рд╖рд╛ рд╕реА, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдбрд░ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛)
- рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдХреЛрд╢рд┐рд╢ рдХреА
- рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП рдмрдЧреНрд╕ рдЬреЛ рдЖрдкрдХреЛ рдорд┐рд▓реЗрдВрдЧреЗ
рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ 1.9.3 рдореЗрдВ рдЗрд╕ рдкреИрдЪ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЕрднреА рднреА рдПрдХ рд▓рдВрдмрд╛ рд░рд╛рд╕реНрддрд╛ рддрдп рдХрд░рдирд╛ рд╣реИ, рдмрд╣реБрдд рдХрд╛рдо рдмрд╛рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдпрд╣ рдХрдИ рдХрджрдореЛрдВ рдореЗрдВ рд╕реЗ рдкрд╣рд▓рд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд░реЗрд▓ рдкрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкреНрд░рдХреНрд╖реЗрдкрдг рдореЗрдВ рддреЗрдЬреА рд▓рд╛рдирд╛ рд╣реИред рдмреБрдВрдбрд▓рд░ рдФрд░ рд░реВрдмреАрдЬреАрдореНрд╕ рднреА рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рддреЗ рд╣реИрдВ - рдореИрдВ рдЙрдирдХреЗ рдЕрдВрджрд░реВрдиреА рд╣рд┐рд╕реНрд╕реЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдореИрдВ рдЗрд╕ рдкреИрдЪ рдХреЛ JRuby рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣рд╛рдВ рднреА рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рд░реБрдмрд┐рдирд┐рдпрд╕ рдореЗрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд╢реБрд░реВ рд╕реЗ рд╣реА рдХреНрд░рдо рдореЗрдВ рд╣реИред