рд░реБрдмреАрд╕рд╛рдареА рд╢рд░рдмрдд, рдПрдХ рд╕реНрдерд┐рд░ рдкреНрд░рдХрд╛рд░ рддрдкрд╛рд╕рдгреА рдкреНрд░рдгрд╛рд▓реА, рдореБрдХреНрдд рд╕реНрд░реЛрдд рдЖрд╣реЗ.

рд╕реНрдЯреНрд░рд╛рдЗрдк рдХрдВрдкрдиреА, рдСрдирд▓рд╛рдЗрди рдкреЗрдореЗрдВрдЯрд╕рд╛рдареА рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рдд рд╡рд┐рд╢реЗрд╖, рдЙрдШрдбрд▓реЗ рдкреНрд░рдХрд▓реНрдк рд╕реНрддреНрд░реЛрдд рдХреЛрдб рд╢рд░реНрдмрдд, рдЬреНрдпрд╛рдордзреНрдпреЗ рд░реБрдмреА рднрд╛рд╖реЗрд╕рд╛рдареА рдПрдХ рд╕реНрдерд┐рд░ рдкреНрд░рдХрд╛рд░ рддрдкрд╛рд╕рдгреА рдкреНрд░рдгрд╛рд▓реА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА рд╣реЛрддреА. рдХреЛрдб C++ рдЖрдгрд┐ рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд Apache 2.0 рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд.

рдХреЛрдбрдордзреАрд▓ рдкреНрд░рдХрд╛рд░рд╛рдВрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдбрд╛рдпрдиреЕрдорд┐рдХрдкрдгреЗ рдореЛрдЬрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ рдЖрдгрд┐ рд╕рд╛рдзреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рджреЗрдЦреАрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ рднрд╛рд╖реНрдпреЗ, рдЬреА sig рдкрджреНрдзрдд рд╡рд╛рдкрд░реВрди рдХреЛрдбрдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, тАЬsig {params(x: Integer).returns(String)}тАЭ) рдХрд┐рдВрд╡рд╛ rbi рд╡рд┐рд╕реНрддрд╛рд░рд╛рд╕рд╣ рд╡реЗрдЧрд│реНрдпрд╛ рдлрд╛рдЗрд▓реНрд╕рдордзреНрдпреЗ рдареЗрд╡рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рдЙрдкрд▓рдмреНрдз рдкреНрд░рд╛рдердорд┐рдХ рдореНрд╣рдгреВрди рд╕реНрдерд┐рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рддреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рди рдХрд░рддрд╛, рдЖрдгрд┐ рддреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рдореНрд╣рдгреВрди рддрдкрд╛рд╕рд▓реЗ (рдЪрд╛рд▓реБ рд╣реЛрдгреЗ рдХреЛрдбрдордзреНрдпреЗ "require 'sorbet-runtime'" рдЬреЛрдбреВрди.

рд╢рдХреНрдпрддрд╛ рджрд┐рд▓реА рдХреНрд░рдорд┐рдХ рднрд╛рд╖рд╛рдВрддрд░ Sorbet рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдХрд▓реНрдк - рдХреЛрдб рд╣реЗ рджреЛрдиреНрд╣реА рднрд╛рд╖реНрдп рдХреЗрд▓реЗрд▓реЗ рдЯрд╛рдИрдк рдХреЗрд▓реЗрд▓реЗ рдмреНрд▓реЙрдХреНрд╕ рдЖрдгрд┐ рдкрдбрддрд╛рд│рдгреАрдд рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдирд╕рд▓реЗрд▓реЗ рдЯрд╛рдИрдк рди рдХреЗрд▓реЗрд▓реЗ рднрд╛рдЧ рдПрдХрддреНрд░ рдХрд░реВ рд╢рдХрддрд╛рдд. рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдордзреНрдпреЗ рдЦреВрдк рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрдгрд┐ рдХреЛрдбрдЪреНрдпрд╛ рд▓рд╛рдЦреЛ рдУрд│реА рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреЛрдб рдмреЗрд╕рд╕рд╛рдареА рд╕реНрдХреЗрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рджреЗрдЦреАрд▓ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.

рдкреНрд░рдХрд▓реНрдкрд╛рдордзреНрдпреЗ рд╕реНрдЯреЕрдЯрд┐рдХ рдкреНрд░рдХрд╛рд░ рддрдкрд╛рд╕рдгреАрд╕рд╛рдареА рдХрд░реНрдирд▓ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ,
Sorbet рд╡рд╛рдкрд░реВрди рдирд╡реАрди рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЯреВрд▓рдХрд┐рдЯ, Sorbet рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рджреНрдпрдорд╛рди рдкреНрд░рдХрд▓реНрдкрд╛рдВрдЪреНрдпрд╛ рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╣рд╕реНрддрд╛рдВрддрд░рдгрд╛рд╕рд╛рдареА рдЯреВрд▓рдХрд┐рдЯ, рдкреНрд░рдХрд╛рд░рд╛рдВрдмрджреНрджрд▓ рднрд╛рд╖реНрдпреЗ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖реЗрд╕рд╣ рд░рдирдЯрд╛рдЗрдо рдЖрдгрд┐ рднрд╛рдВрдбрд╛рд░ рд╡рд┐рд╡рд┐рдз рд░реБрдмреА рд░рддреНрдирд╛рдВрдЪреНрдпрд╛ рдкреЕрдХреЗрдЬреЗрд╕рд╕рд╛рдареА рд░реЗрдбреАрдореЗрдб рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛рдВрд╕рд╣.

рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛, Sorbet рд╕реНрдЯреНрд░рд╛рдЗрдк рдХрдВрдкрдиреАрдЪреЗ рдЕрдВрддрд░реНрдЧрдд рдкреНрд░рдХрд▓реНрдк рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ, рдЬреНрдпрд╛рддреАрд▓ рдмрд╣реБрддреЗрдХ рдкреЗрдореЗрдВрдЯ рдЖрдгрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рдгрд╛рд▓реА рд░реБрдмреА рднрд╛рд╖реЗрдд рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд, рдЖрдгрд┐ рд╡рд┐рдХрд╛рд╕ рдЖрдгрд┐ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рджреАрдб рд╡рд░реНрд╖рд╛рдирдВрддрд░ рдУрдкрди рд╕реЛрд░реНрд╕рдЪреНрдпрд╛ рд╢реНрд░реЗрдгреАрдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ. рдХреЛрдб рдЙрдШрдбрдгреНрдпрд╛рдкреВрд░реНрд╡реА, рдмреАрдЯрд╛ рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рдд рдЖрд▓реА, рдЬреНрдпрд╛рдордзреНрдпреЗ 30 рд╣реВрди рдЕрдзрд┐рдХ рдХрдВрдкрдиреНрдпрд╛рдВрдиреА рднрд╛рдЧ рдШреЗрддрд▓рд╛. рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░, рд╕реЙрд░реНрдмреЗрдЯ рд░реБрдмреАрдордзреАрд▓ рдмрд╣реБрддреЗрдХ рдорд╛рдирдХ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдЪреНрдпрд╛ рд▓реЙрдиреНрдЪрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ, рдкрд░рдВрддреБ рдХрд╛рд╣реА рд╡рд┐рд╕рдВрдЧрддреА рдЕрд╕реВ рд╢рдХрддрд╛рдд.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛