
рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдореЗрд░реЗ рдкрд╛рд╕ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рдЫреБрдЯреНрдЯреА рдереА, рдФрд░ рдореЗрд░реЗ рдШрд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╢рд╛рдВрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд░реБрд╕реНрдд рдкрд░ рдЕрдкрдирд╛ рд╕рд░рд▓ рдСрдирд▓рд╛рдЗрди рдЧреЗрдо рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдПрдХ рд╕рд╛рдзрд╛рд░рдг 2D рд╢реВрдЯрд░ред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рд╡рд╣рд╛рдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗред рдЪреВрдВрдХрд┐ рд╢реИрд▓реА рдореЗрдВ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдпреВрдбреАрдкреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ MIT рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдкрд░рд┐рдгрд╛рдореА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ crates.io рдкрд░ рднреА рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐: рдП) рдпрд╣ рддрдм рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рдЦ) рд╢рд╛рдпрдж рдпрд╣ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдФрд░ рд▓рд╛рдн рд▓рд╛рдПрдЧрд╛ред рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд┐рд▓реНрд▓реА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рд╕рдВрджрд░реНрдн
->
рд╕реНрд░реЛрдд->
рдкреБрд╕реНрддрдХрд╛рд▓рдп crates.io рдкрд░->
рдкреНрд░рд▓реЗрдЦрдирдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдЧреНрд░рд╛рд╣рдХ
рд╕рд░реНрд╡рд░
рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЕрдЧрд░ рдореИрдВ
рд▓рд╛рдорд┐рдирд╛рд░ рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдХрдЪреНрдЪреЗ рдпреВрдбреАрдкреА рд╕реЙрдХреЗрдЯ рдХреЗ рдмрдЬрд╛рдп рдХрдЪреНрдЪреЗ рдпреВрдбреАрдкреА рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреЛрдб рдХреЛ 100 рдХреЗ рдХрд╛рд░рдХ рд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рд▓реЗрдЦреЛрдВ рдХреА рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ -
рдЧреЗрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ ред
рд╕рд░реНрд╡рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рд╕реЗ рдХрдорд╛рдВрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рдЙрд╕ рдмрдЯрди рдпрд╛ рдХреАрдмреЛрд░реНрдб рдкрд░ рдХреБрдЫ рдмрдЯрди рджрдмрд╛рдХрд░) рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд░рд╛рдЬреНрдп рднреЗрдЬрдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреВрдирд┐рдЯреНрд╕ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдФрд░ рд╡реЗ рдЬрд┐рд╕ рджрд┐рд╢рд╛ рдореЗрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ) рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд▓реЗрдпрд░ рдХреЛ рдПрдХ рддрд╕реНрд╡реАрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╕рд░реНрд╡рд░ рдкрд░
рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░
рдЙрдкрд╕рдВрд╣рд╛рд░
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрдорд╛рдВрдб рдбрд┐рд▓реАрд╡рд░реА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рдерд╛ред рд╕рд░реНрд╡рд░ рдкрд░, рдХреЗрд╡рд▓ рдЙрд╕ рдкреИрдХреЗрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде +1 рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЕрдВрддрд┐рдо рдкреИрдХреЗрдЯ рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдмрд╛рдХреА рд╣реИ, рдФрд░ рдмрд╛рдХреА рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВред рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдЕрдВрддрд┐рдо рдкреИрдХреЗрдЯ рднреЗрдЬреЗрдВред рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░, рдЙрди рд╕рднреА рдХрдорд╛рдВрдбреНрд╕ рдХрд╛ рдХреИрд╢ рд░рдЦреЗрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдпреВрдЬрд░ рдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереАред рд╣рд░ рдмрд╛рд░ рдПрдХ рдирдпрд╛ рд░рд╛рдЬреНрдп рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрддрд╛ рд╣реИ, рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдЕрдВрддрд┐рдо рдкреИрдХреЗрдЯ, рдЗрд╕реЗ рдХреИрд╢ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рд╕рднреА рдкреИрдХреЗрдЯ рдХрдо рд╕реЗ рдХрдо рд╣реИред рд╢реЗрд╖ рд╕рднреА рдкреИрдХреЗрдЯ рдлрд┐рд░ рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рдореИрдВ рдЧреЗрдо рдХреЛ рдЦреБрдж рдмрдирд╛рдКрдВрдЧрд╛, рдЙрдкрдпреЛрдЧ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдореИрдВ рдЖрдЧреЗ рдФрд░ рд╕реБрдзрд╛рд░ рдХрд░реВрдВрдЧрд╛ рдФрд░ рд▓рд╛рдЗрдм рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реВрдВрдЧрд╛ред рд╢рд╛рдпрдж рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рдХреАрдбрд╝реЗ рдорд┐рд▓реЗрдВрдЧреЗред
рдореБрдЭреЗ рдпрд╣рд╛рдВ C # рдореЗрдВ рдПрдХ рдЧреЗрдо рд╕рд░реНрд╡рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдорд┐рд▓рд╛ - Rust рдкрд░
Networker +, рдПрдХ
рдкрддреНрддрд╛ рд╣реИ, рдЧреЛ - рд▓реАрдл рдкрд░ рдЧреЗрдо рд╕рд░реНрд╡рд░ рдХреЗ рдПрдирд╛рд▓реЙрдЧ рдХреА рддрд░рд╣ред рдХреЗрд╡рд▓ рдкреНрд░рдЧрддрд┐ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рд╣реИред
PS рдкреНрд░рд┐рдп рдорд┐рддреНрд░, рдпрджрд┐ рдЖрдк рдПрдХ рд╢реБрд░реБрдЖрдд рд╣реИрдВ рдФрд░ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдБ рдореЗрд░реА рд╕рд▓рд╛рд╣ рд╣реИ - рдЬреИрд╕рд╛ рдореИрдВ рдХрд░рддрд╛ рд╣реВрдБ рд╡реИрд╕рд╛ рдордд рдХрд░реЛред рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рдорд┐рд▓рд╛рдпрд╛ рдФрд░ "рдПрдПрдП" рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд┐рдпрд╛ (Google рдпрд╣ рдХреНрдпрд╛ рд╣реИ)ред рдЖрдкрдХреЛ рдпрд╣ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдПрдХ рдЪреАрдЬ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдПрдХ рд╕рд╛рде рдХрдИ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдирд╣реАрдВ, рдФрд░ рдЪрд░рдгреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдЪрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП;
- рдЖрдк рдЬрд┐рд╕ рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рдЖрдк рдХрд░рддреЗ рд╣реИрдВ;
- рдЖрдк рдкрд░рд┐рдгрд╛рдо рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
fn add_one(x:usize) -> usize { x+1 } #[test] fn add_one_fn_should_add_one_to_it_argument(){ let x = 2; let expected = x+1;