ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½Π° rust
Rust β ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ ΠΈ Π΄Π΅ΡΠ·ΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ C++ ΠΈ Haskell.
ΠΠ΅ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ° Rust ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π² 2010 Π³ΠΎΠ΄Ρ, ΠΈ ΠΎΠ½ ΡΡΠ°Π·Ρ Π·Π°Π½ΡΠ» ΡΡΠ΅ΡΡΡ ΡΡΡΠΎΡΠΊΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π»ΡΠ±ΠΈΠΌΡΡ ΡΠ·ΡΠΊΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π° StackOverflow. ΠΠΎΠ΄ ΡΠΏΡΡΡΡ Rust Π²ΠΎΠ·Π³Π»Π°Π²ΠΈΠ» ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈ Π΄Π΅ΡΠΆΠ°Π»ΡΡ ΡΠ°ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎΡ ΡΠ·ΡΠΊ ΡΡΠ°Π» ΡΠ°ΠΊΠΈΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ, Π² ΡΡΠΌ Π΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ Π²ΠΎΠΊΡΡΠ³ Π½Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ².
Π ΡΡΠΌ ΠΈΠ΄Π΅Ρ ΡΠ·ΡΠΊΠ° Rust
ΠΠ²ΡΠΎΡΡ ΡΠ·ΡΠΊΠ° Π½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ Π²ΡΠ΅ΠΌΠΎΠ³ΡΡΠ΅ΡΡΠ²ΠΎ ΡΠ·ΡΠΊΠ° C++ ΠΈ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ Haskell. ΠΠ½ ΠΏΠΎΡΡΠ°Π²ΠΈΠ» ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ±ΠΎΠΉ Π·Π°Π΄Π°ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΠΎΠ±Π° ΡΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΈ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ ΠΎΠ½ ΡΠΎΠ±ΡΠ°Π» ΠΏΠ΅ΡΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ° Rust.
Rust ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΌΡΠ»ΡΡΠΈΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. Π‘Π΅ΠΉΡΠ°Ρ ΠΏΠΎΡΡΠ½ΠΈΠΌ, ΡΡΠΎ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ.
π ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ·ΡΠΊ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π³ΠΎΡΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° β ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Ρ Π½ΡΠΆΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΠ»Π° ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ.
π Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΠΈΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ΅Π»ΠΎΠΌ. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΠΈ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ. ΠΠ±ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Π½Π° Rust β ΠΎΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΆΠ΅Π»Π΅Π·Π°.
π ΠΡΠ»ΡΡΠΈΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°Π»ΡΠ½ΡΠΉ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π² ΡΠ·ΡΠΊΠ΅ ΡΠΎΡΠ΅ΡΠ°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π ΡΠ»ΡΡΠ°Π΅ Rust ΡΡΠΎ ΠΠΠ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠΈΡΡΠΌ, ΠΠΠ Π² Rust ΠΏΡΠΈΡΠ»ΠΎ ΠΈΠ· C++, Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ β ΠΈΠ· Haskell. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌ Π²ΡΠ±ΠΈΡΠ°ΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΡΠΈΠ»Π΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, ΠΈΠ»ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ Π² ΡΠ°Π·Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΊΠΎΠ΄
ΠΠ° ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π² Rust Π²Π·ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈΠ· C ΠΈ C++.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Β«ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!Β» Π½Π° Rust Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
fn main() <
println!(«Hello, world!»);
>
ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ, ΡΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡΡΠΎ Π½Π°ΡΠ°ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΈ Π½Π° Rust. ΠΡΡΠ³ΠΎΠ΅ Π΄Π΅Π»ΠΎ, ΡΡΠΎ Π² Rust Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
let x = if new_game() < 4 >
else if reload() < 3 >
else
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ x Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½Π° ΡΠ΅ΡΡΡΡΠΌ, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ new_game() Π²Π΅ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true. ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ»ΡΡΠΈΡΡΡ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ reload() ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ. ΠΡΠ»ΠΈ true, ΡΠΎ x ΠΏΡΠΈΠΌΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 3, Π° Π΅ΡΠ»ΠΈ ΠΈ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ β ΡΠΎ x ΡΡΠ°Π½Π΅Ρ ΡΠ°Π²Π½ΡΠΌ 0.
ΠΡΡ Π² Rust Π΅ΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ ΡΠΎΠ²ΠΏΠ°Π»ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ:
ΠΠ»Π°Π²Π½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Rust
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ Π½Π° C, Π³Π»Π°Π²Π½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° Rust ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π²Π·ΡΠ»ΠΈ ΠΈΠ· Haskell, ΠΈ Π·Π²ΡΡΠΈΡ ΠΎΠ½Π° ΡΠ°ΠΊ:
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° Rust ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»Π°ΡΡ ΠΈ Π½Π΅ ΡΠΏΠ°Π»Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°, ΡΠΎ ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π²Ρ ΡΠ°ΠΌΠΈ Π΅Ρ Π½Π΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅.
ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Rust ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊ ΠΆΠ΅ Π½Π°Π΄ΡΠΆΠ½Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Haskell. ΠΠΎΡΡΠΈ β ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Β«Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉΒ» Π±Π»ΠΎΠΊ unsafe, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°ΡΡ Π΅ΠΌΡ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ Π² ΡΠ΅ΠΎΡΠΈΠΈ ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ±ΠΎΡΠΌ. ΠΠΎ Π΄Π°ΠΆΠ΅ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Rust ΡΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ°ΠΌ ΠΈ ΠΏΠ°Π΄Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² Π±Π΅Π·Π½Π°Π΄ΡΠΆΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ .
ΠΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ ΡΠ·ΡΠΊΠ°
ΠΠΎΠ³Π΄Π° ΡΠ·ΡΠΊ ΡΠΎΠ²ΠΌΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΅Π±Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ :
ΠΠΈΠ½ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ²ΡΠ·Π°Π½Ρ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΠ·ΡΠΊΠ°. Π’Π°ΠΊ ΠΊΠ°ΠΊ Rust ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ, ΡΠΎ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊ, ΡΡΠΎ ΠΊΠΎΠ΄ ΠΈΠ· ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΡΡ ΠΊ ΠΌΠΈΠ½ΡΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ:
Π§ΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Rust
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Rust ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π² ΡΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , Π³Π΄Π΅ Π½ΡΠΆΠ½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΈ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈ ΠΎΠ±ΡΠ΅Π΅ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Rust ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠ‘, Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, Π²Π΅Π±-Π΄Π²ΠΈΠΆΠΊΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΡ ΡΠ°ΡΡΠ΅ΠΉ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° ΠΈ Π±ΡΠΊΠ΅Π½Π΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΡΠ°ΠΌΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π³Π΄Π΅ Rust Π±ΡΠ» ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
Rust Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² JS
Jul 27, 2020 Β· 7 min read
Rust Π½Π΅ Π²ΡΠ·Π²Π°Π» Ρ ΠΌΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ°, ΠΊΠΎΠ³Π΄Π° Ρ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°Π» ΠΎ Π½ΡΠΌ. ΠΡΠΎ Π±ΡΠ»ΠΎ ΠΎΠΊΠΎΠ»ΠΎ Π΄Π²ΡΡ Π»Π΅Ρ Π½Π°Π·Π°Π΄. Π― ΡΠ°Π±ΠΎΡΠ°Π» Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π» Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π° JavaScript ΠΈ ΠΏΠΎΠ΄ΡΠΌΠ°Π» ΡΠΎΠ³Π΄Π°, ΡΡΠΎ Rust Π½Π΅ Π΄Π»Ρ ΠΌΠ΅Π½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ½ ΠΊΠ°Π·Π°Π»ΡΡ ΠΌΠ½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΡΠΌ.
Π Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° Ρ ΡΠ΅ΡΠΈΠ» Π½Π°ΡΠ°ΡΡ ΠΈΠ·ΡΡΠ°ΡΡ Π΅Π³ΠΎ. Π§ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Π·Π° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ? Π― Π²ΡΡ Π΅ΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ, ΠΎΡΠ²ΠΎΠΈΠ² ΡΡΠΎΡ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Ρ ΡΠΌΠΎΠ³Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Rust, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΅Ρ Π½Π° WebAssembly ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, Π±ΡΠ»ΠΎ ΡΠΎΠΉ ΠΈΡΠΊΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΆΠ³Π»Π° ΠΌΠΎΡ ΠΌΠΎΡΠΈΠ²Π°ΡΠΈΡ.
Π ΡΡΠΎΠΉ Ρ ΡΠ°ΡΡΠ΅ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Ρ Rust Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° JavaScript, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°Ρ ΡΡΠΈ Π΄Π²Π° ΡΠ·ΡΠΊΠ°. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΡΠΈ Π²Π°ΠΌ ΡΠΎΠΆΠ΅ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ ΠΎΡΠ²ΠΎΠΈΡΡ Rust!
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Rust?
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Rust Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Mozilla, Π° Π΅Π³ΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π½Π° ΡΠ²Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² 2015 Π³ΠΎΠ΄Ρ. Hello, World Π½Π° Rust Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π ΡΠΎΠ²ΡΠ΅ΠΌ Π²ΡΠΎΠ΄Π΅ Π½Π΅ ΡΡΡΠ°ΡΠ½ΠΎ. ΠΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΠ½Π° ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΊ JavaScript, Π½ΠΎ ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° hello world, Π° ΡΠ°ΠΌΠ° Π²Π΅ΡΡΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅! ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌ ΡΠ·ΡΠΊΠ°, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Rust Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
ΠΠ΅ΠΆΠ΄Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΡΠΊΠΎΠ΅ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅:
Rust ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ Π±ΡΡΡΡΡΠΌ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π½ΠΎ Π½Π° Π΅Π³ΠΎ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΉΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΠΈΠ»ΠΈΠΉ, Π° Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ Π΄Π°ΠΆΠ΅ Π΄Π»Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Rust
ΠΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Rust ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΎΠ±ΡΠΈΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ, ΠΈ Ρ ΡΠ΅ΡΠΈΠ» ΠΎΡΠ²ΡΡΠΈΡΡ Π² ΡΡΠ°ΡΡΠ΅ ΡΠ΅ΡΡΡΠ΅ ΡΠ΅ΠΌΡ, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ ΡΠ·ΡΠΊ ΠΈ Π½Π°ΡΠ°ΡΡ Π½Π° Π½ΡΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
JavaScript β ΡΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π΄Π΅Π»Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΡΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΡΠΈΡΠ°ΡΡ ΡΠΈΡΠ»ΠΎ 1 ΠΈΠ· ΡΡΡΠΎΠΊΠΈ wat ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΡΠΎ ΡΡΠ°Π»ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ»Π°Π±ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΈΠΏΠΎΠ². ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΡΠΈΡΠ΅Π» Π½Π° Rust, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠΈΠΏΡ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΡΠ½ΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Rust, Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊ ΡΠ»ΡΡΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π»ΡΡΠΎ Π²ΠΎΠ·Π½Π΅Π½Π°Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ:
ΠΡ ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΊ ΡΡΠ° ΡΠΎΠ±Π°ΡΠΊΠ°! ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²ΠΎΡΠ΅ΡΠ΅ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Rust, Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΠΉΡΠ΅: ΠΌΡ Π²ΡΠ΅ ΡΠ΅ΡΠ΅Π· ΡΡΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠΌ.
ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡ
Π ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ. JavaScript ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π½ΠΈΠΊΡΠΎ Π½Π΅ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡΡ, Π½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Redux ΠΈ Immutable.js, Π½Π°ΡΡΠΈΠ»ΠΈ Π½Π°Ρ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° let ΠΈ const Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠ»Π°Π΄Π΅Π½ΠΈΠ΅
ΠΡΠΎ ΠΏΠΎΠ½ΡΡΠΈΠ΅, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΠ°ΠΌΠΎΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ Rust ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Ρ ΡΠ°Π±ΠΎΡΠ°Π», Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ΠΎ Π΄Π΅Π»Π°Π΅Ρ Rust Π±ΡΡΡΡΡΠΌ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ!
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π²Π»Π°Π΄Π΅Π΅Ρ ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΏΡΠΈΡΡΠΌ Ρ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π²Π»Π°Π΄Π΅Π»Π΅Ρ. ΠΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ:
Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ Π² Rust ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°ΡΡ, Π²Π΅Π΄Ρ Π·Π΄Π΅ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ! ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊ Π΄ΡΡΠ³ΠΎΠΉ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ:
ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ Ρ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Rust Ρ ΠΎΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΈΠ³ΡΠ°Π»ΠΈ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠΎ:
ΠΡΠ»ΠΈ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΈ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΠΌ ΡΡΠΎ-ΡΠΎ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ ΠΈΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΠ°Π»ΠΈΡΡ, Π½ΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ β ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ! ΠΠ΅Π΄Ρ Π²Ρ ΠΏΡΠΈΡΡΡΠΏΠ°Π΅ΡΠ΅ ΠΊ ΡΠ΅ΠΌΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ, Π° ΡΡΠΎ Π½Π΅ΠΏΡΠΎΡΡΠ°Ρ ΡΠ΅ΠΌΠ°. Π― ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΠΎΡ ΡΡΠΎ Π²ΠΈΠ΄Π΅ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ·Π½Π°ΡΡ ΠΎΠ± ΡΡΠΎΠΌ.
Π‘ΡΡΡΠΊΡΡΡΡ
Rust Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ, Π½ΠΎ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΡΠ·ΡΠΊΠΎΠ². ΠΠΎΠ³Π΄Π° ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π² JavaScript, ΡΠΎ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅ ΠΌΠ΅ΡΡΠ΅. Π Rust ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΎΡΠ΄Π΅Π»ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ:
Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Rust?
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Rust. ΠΠ΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅: Π·Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡ https://rustup.rs ΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ². ΠΡΠΎ ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ nvm, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ JavaScript.
ΠΠ°ΡΠ΅ΠΌ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ β Π½Π΅ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΆΠ΅ Π²ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ Ρ Π½ΡΠ»Ρ. ΠΠΎΡΡΠΎΠΌΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΌΡ ΠΎΠ±Π·Π°Π²ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Node Π½Π° JavaScript, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΠΈ Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Rust. ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π½Π° crates.io, ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΊΡΠ΅ΠΉΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°Π·ΡΠ·Π½Π°ΡΡ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ Π½Π° Rust.
Rust ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΉ, Π³Π΄Π΅ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΡΡΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΏΠΎΠΊΠ»Π°Π΄Π°Ρ ΡΡΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ ΠΈΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ°ΠΉΡΠ°Ρ :
Π Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΠ΅ΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ! ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡ ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ Π²Π°Ρ Π½Π° JavaScript. WebAssembly β Π²ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΄Π΅Π»Π°Π»Π° ΡΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ, ΠΈ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ .
ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Π΅Ρ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠ½ΠΈΠ³Ρ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ Rust ΠΈ WebAssembly.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Rust β ΡΡΠΎ Π½Π΅ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΊΡΡΡΠΎΠΉ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΎΠΈΡ ΠΎΡΠ²ΠΎΠΈΡΡ, Π²Π΅Π΄Ρ Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ! ΠΡΠ»ΠΈ Π²Ρ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΊΠ°ΠΊ ΠΈ Ρ, ΡΠΎ Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠΈΡΠ°ΡΡ ΠΎ WebAssembly, ΠΈ Ρ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΠΌΠΎΠ³Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΅ΡΡ ΡΡΠ°ΡΡΠΈ ΠΎΠ± ΡΡΠΎΠΌ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ Rust, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π½Π°ΡΠ°ΡΡ Ρ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ° ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° JavaScript Ρ ΠΏΠΎΠΌΠΎΡΡΡ Rust. ΠΠ°ΠΊ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ, ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° β ΡΡΠΎ ΠΊΠ»ΡΡ ΠΊ ΡΡΠΏΠ΅Ρ Ρ!
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΡΠ° ΡΡΠ°ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΏΠΎ ΠΌΠΎΡΠΈΠ²Π°ΠΌ Π΄ΠΎΠΊΠ»Π°Π΄Π°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΡΠΎΠΌ Π½Π° ΡΠ΅ΠΌΠΈΠ½Π°ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² JS Coders meetup event. Π‘ΠΎ ΡΠ»Π°ΠΉΠ΄Π°ΠΌΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π·Π΄Π΅ΡΡ.
Rust Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ . Π§Π°ΡΡΡ 1
ΠΡΠΎΡ ΡΠΈΠΊΠ» ΡΡΠ°ΡΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ ΠΊΠ½ΠΈΠ³ΠΈ Β«Rust by ExampleΒ», ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΈΡΠ΅Ρ Π₯ΠΎΡΡ Π΅ ΠΠΏΠ°ΡΠΈΡΠΈΠΎ Π½Π° Github.
ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠΎΠΏΠΈΠΊΠ° Π°Π²ΡΠΎΡ ΠΊΠ½ΠΈΠ³ΠΈ ΡΠΎΠ·Π΄Π°Π» 49 Π³Π»Π°Π², Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΡΠΈ. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Rust ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ ΠΈΠΌΠ΅Π΅ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
1. ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!
ΠΡΠΎ ΠΊΠΎΠ΄ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Β«Hello WorldΒ»:
println! ΡΡΠΎ ΠΌΠ°ΠΊΡΠΎΡ (ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ ΠΏΠΎΠ·ΠΆΠ΅), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Rust rustc:
rustc ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Β«helloΒ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ:
2. Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄
ΠΠ°ΠΊΡΠΎΡ println! Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ ΠΈ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π·Π΄Π΅ΡΡ: stdβ::fmtβ
3. ΠΠΈΡΠ΅ΡΠ°Π»Ρ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ
Π’Π°ΠΊΠΆΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π·ΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠ΅, Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠ²: 0x, 0o ΠΈΠ»ΠΈ 0b.
Π ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1_000 ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ 1000, Π° 0.000_001 ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ 0.000001.
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ ΠΈΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° C-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ .
4. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ (ΠΊΠ°ΠΊ ΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ) ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ let.
4.1 ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡ
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ, Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ mut.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠΈΠ²ΠΎΡΡΠΈ.
4.2 ΠΠ±Π»Π°ΡΡΠΈ ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ, ΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ Π² Π±Π»ΠΎΠΊΠ΅ (Π±Π»ΠΎΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ², Π·Π°ΠΊΠ»ΡΡΡΠ½Π½ΡΡ Π² ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ <>). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΊΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
4.3 ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅
ΠΠΎΠΆΠ½ΠΎ ΡΠΏΠ΅ΡΠ²Π° ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ ΠΏΠΎΠ·ΠΆΠ΅. ΠΠΎ ΡΡΠ° ΡΠΎΡΠΌΠ° ΡΠ΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ Π±Ρ ΠΊ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡΠΌ.
5. Π’ΠΈΠΏΡ
Rust ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ². Π’ΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°Π½ ΠΏΡΠΈ Π΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ.
5.1 ΠΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ²
Rust Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² (coercion) ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π°ΠΌΠΈ, Π½ΠΎ, ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² (casting) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° as.
5.2 ΠΠΈΡΠ΅ΡΠ°Π»Ρ
Π’ΠΈΠΏ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ² Π±Π΅Π· ΡΡΡΡΠΈΠΊΡΠ° Π±ΡΠ΄Π΅Ρ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΡΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΄Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
5.3 ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ ΡΠΈΠΏΠΎΠ² Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΌΡΠ½. Π’ΠΈΠΏ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΡΠΈΠΏΠ° Π΄Π»Ρ Π²ΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠΎΡ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΡΠ°ΡΡΠ»ΠΈΠ² ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ!
5.4 ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ (Π°Π»ΠΈΠ°ΡΡ)
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ google-Π³ΡΡΠΏΠΏΠ΅: Rust ΠΏΠΎ-ΡΡΡΡΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΡΠΎΠΌΡ ΡΠ·ΡΠΊΡ.
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠΎΡΡ Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ Π½Π° Github: github.com/eg0r/rust-by-example
ΠΡΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ, ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ ΠΌΠ½Π΅ Π² ΠΏΠΎΡΡΡ.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Rust
Apr 17 Β· 12 min read
Rust β ΡΡΠΎ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π°Π±ΠΈΡΠ°ΡΡΠΈΠΉ ΡΠ΅ΠΊΠΎΡΠ΄Π½ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ Π΄Π»Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ.
Π 2020 Π³ΠΎΠ΄Ρ ΠΏΠΎ ΠΈΡΠΎΠ³Π°ΠΌ ΠΎΠΏΡΠΎΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Stack Overflow ΡΠ°ΠΌΡΠΌ Π»ΡΠ±ΠΈΠΌΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΆΠ΅ ΠΏΡΡΡΠΉ Π³ΠΎΠ΄ ΠΏΠΎΠ΄ΡΡΠ΄ Π±ΡΠ» ΠΏΡΠΈΠ·Π½Π°Π½ Rust. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ Rust ΡΠΊΠΎΡΠΎ ΠΎΠ±Π³ΠΎΠ½ΠΈΡ C ΠΈ C++ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠ΅Π΄ΡΡΠ²Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π²Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΡΠ²Π½Π°Ρ ΠΈ ΡΠ²Π½Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π²Π°ΠΌ Π½Π°ΡΠ°ΡΡ Ρ Π° Π±ΠΎΡΡ Ρ Rust Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΎΠΏΡΡΠ°. ΠΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ Rust ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΈΠ·ΡΡΠΈΠΌ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π²Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Rust!
ΠΠΎΡ ΡΡΠΎ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π² ΡΡΠ°ΡΡΠ΅.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Rust?
Rust β ΡΡΠΎ ΠΌΡΠ»ΡΡΠΈΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ². ΠΠ½ Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΡΠ΅ΠΉΠ΄ΠΎΠ½ΠΎΠΌ Π₯ΠΎΡΠΎΠΌ Π² Mozilla Research Π² 2010 Π³ΠΎΠ΄Ρ.
Rust ΠΎΠΏΡΠΈΠΌΠ°Π»Π΅Π½ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ Π°ΠΊΡΠ΅Π½Ρ Π·Π΄Π΅ΡΡ ΡΠ΄Π΅Π»Π°Π½ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ΅. ΠΡΠΎΡ ΡΠ·ΡΠΊ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΡ ΠΎΠΆ Π½Π° C ΠΈΠ»ΠΈ C++, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΡΡΠ»ΠΎΠΊ.
Rust β ΡΡΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Π±Π΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Rust Π² Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΄ΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈΠ»ΠΈ Π² ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°Ρ .
Rust ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π³ΠΎΠ½ΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠ°ΡΠ΅ΠΌ ΠΈΠ·ΡΡΠ°ΡΡ Rust?
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Rust ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·-Π·Π° ΡΠΈΡΡΠ΅ΠΌΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠ΅ΠΉ Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΈΠ²Π΅ΡΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΡ. Π Ρ ΠΎΡΡ Π΅Π³ΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π² ΠΊΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ , Rust ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ·ΡΠΊΠΎΠ², ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΡ ΡΠ°ΠΌΡΠ΅ Π²ΡΡΠΎΠΊΠΈΠ΅ ΠΎΡΠ΅Π½ΠΊΠΈ.
Rust ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°ΡΡΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°ΡΡΠ΅Π³ΠΎΡΡ ΡΠΎΡΡΠ° ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΡΡΠ°ΡΡ ΡΠ·ΡΠΊΠΎΠΌ Π·Π°Π²ΡΡΠ°ΡΠ½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΅Π±Ρ Π² ΡΠΎΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Rust ΡΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡ, Π½Π°Π΄ΠΎΠ»Π³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ² ΡΠ΅Π±Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΎΠΏΠ»Π°ΡΠΎΠΉ.
Β«Hello World!Β» Π½Π° Rust
Π Π°Π·Π±Π΅ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠ°ΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
fn β ΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ function (Β«Π€ΡΠ½ΠΊΡΠΈΡΒ»). Π Rust (ΠΊΠ°ΠΊ ΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ) ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ°ΠΊ Π±Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ: Β«Π‘ΠΎΠΎΠ±ΡΠΈΡΠ΅ ΠΌΠ½Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π° Ρ ΡΠ΄Π΅Π»Π°Ρ ΡΠΎ-ΡΠΎ ΠΈ ΡΠΎ-ΡΠΎ ΠΈ Π·Π°ΡΠ΅ΠΌ Π΄Π°ΠΌ ΠΎΡΠ²Π΅ΡΒ».
Π€ΡΠ½ΠΊΡΠΈΡ main β ΡΡΠΎ ΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°.
Π‘ΠΊΠΎΠ±ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘Π΅ΠΉΡΠ°Ρ ΠΎΠ½ ΠΏΡΡΡ, ΡΠΎ Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅Ρ. ΠΠΎ ΡΠΊΠΎΡΠΎ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
ΠΠ°Π»ΡΡΠ΅ ΠΈΠ΄Π΅Ρ ΡΡΡΠΎΠΊΠ°. Π‘ΡΡΠΎΠΊΠΈ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Π±ΡΠΊΠ² ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ ( » ). ΠΠ°ΡΠ΅ΠΌ ΡΡΡΠΎΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΎΡΠΎΠ² ΡΠΈΠΏΠ° println! ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ Π΅ΡΠ΅ ΠΏΠΎΠΈΠ³ΡΠ°Π΅ΠΌ.
Π ΡΡΠΎ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ. ΠΠ½Π° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠ½Π΅Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ ΡΠΎΡΠΊΠ° Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ β ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΎΡ. ΠΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΊΠΎΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ.
ΠΡΠ½ΠΎΠ²Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Rust
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Rust ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ β ΡΡΠΎ ΡΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π€ΠΎΡΠΌΠ°Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΊΠΎΠ²:
ΠΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΡΠΌ, Ρ. Π΅. ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ, ΡΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π‘ΠΎΠ²Π΅Ρπ‘ ΠΡΠ΅Π³Π΄Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ ΡΠΎ ΡΡΡΠΎΡΠ½ΠΎΠΉ Π±ΡΠΊΠ²Ρ, Π° Π½ΠΎΠ²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π½Π°ΡΠΈΠ½Π°ΠΉΡΠ΅ Ρ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ.
Π Rust ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Ρ. Π΅. ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π·Π°Π΄Π°Π½Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΡΠ°ΠΊΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΠ·ΡΠΊΠ° Rust ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΡΠΌ, Π½ΠΎ ΠΎΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ΅Π΄Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π±Π°Π³ΠΎΠ², Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ.
Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Ρ Π²Π°Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ΅ΠΌ Π»Π΅Π³ΡΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΠΎΠ΄Π΄Π°ΡΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Ρ ΡΡΡΠ΄ΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Π² Rust ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅.
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΎΠ±ΡΡΠ²ΠΈΠΌ Π΅Π΅ Π²ΠΎΡ ΡΠ°ΠΊ:
Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
ΠΠΎΠΊΠ° ΡΡΠΎ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡΡΡ Π»ΠΈΠ±ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π· (Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ), Π»ΠΈΠ±ΠΎ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°Ρ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ my_name Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π―Π²Π½Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½. Rust ΡΠ΄Π΅Π»Π°Π΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Ρ Π΅Π³ΠΎ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠΌΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ.
ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ Π΄Π»Ρ Π½Π΅Π΄ΠΎΠΏΡΡΠ΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ Π½Π° Rust:
Π€ΡΠ½ΠΊΡΠΈΠΈ
Π€ΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ Π½Π°Π±ΠΎΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° Rust, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΡΡΠ»ΠΎΠ²Π½ΡΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΡ ΡΠΎΡΠΌΠ°Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΡΠΎ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ΅ Π½Π°ΠΌ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ function (Β«Π€ΡΠ½ΠΊΡΠΈΡΒ»). ΠΠ° Π½ΠΈΠΌ Π² ΠΊΠΎΠ΄Π΅ Rust ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ΄Π΅ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π΅Π΅ Π²ΡΠ·ΠΎΠ²Π΅.
ΠΡΠΈ ΡΠΊΠΎΠ±ΠΊΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π»ΡΠ±ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΡΡΡΡΠΌΠΈ.
Π Π·Π΄Π΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠΌΡ. ΠΡΠΎ ΠΈΠΌΡ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΡΠΎΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΡΡΠ»Π°ΡΡΠ΅ΠΉΡΡ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΠ΅Π»Π° ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΎΡΠ»Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΈΠΏ. ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΡΡΠ°Π½ΠΈΡΡ Π½Π΅ΡΠ²Π½Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² Rust Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Π°.
Π€ΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°. ΠΠΎΠ΄ Π²Π½ΡΡΡΠΈ ΡΠΊΠΎΠ±ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ.
Π ΡΡΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ Π΄Π»Ρ ΠΊΠΎΠ΄Π° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΡΡΠ΅ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠ΄Π° Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΌΠΎ Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ΅ΡΠ΅Π΄Π΅Π»Π°Π΅ΠΌ hello-world Π² ΡΡΠ½ΠΊΡΠΈΡ say_hello() :
Π‘ΠΎΠ²Π΅Ρπ‘ Π£Π²ΠΈΠ΄Π΅Π»ΠΈ () β Π·Π½Π°ΡΠΈΡ, Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅Ρ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π²Π½ΡΡΡΠΈ ΡΠΊΠΎΠ±ΠΎΠΊ ΠΏΡΡΡΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². Π‘Π°ΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠΈ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΡΡΠ°ΡΡΡΡ, ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠΎΡ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΠΎΠ»Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°:
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ β ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ΅Π½ ΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°. ΠΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π°Π²ΡΠΎΡΡ ΠΊΠΎΠ΄Π° Π±ΡΡΡΡΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ ΡΠ²ΠΎΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π° Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ β Π±ΡΡΡΡΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. Π’Π°ΠΊ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ ΠΎΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΡΠ΅ΠΌ.
Π‘ΠΎΠ²Π΅Ρπ‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Β«Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΊΠΎΠ΄Π°, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π½ΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ.
Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ β ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΡΠΈΠ½Π½ΠΎΡΡΠΈ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ Π½Π°Π±ΠΎΡΠ° ΡΡΠ»ΠΎΠ²ΠΈΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ Π°Π΄Π°ΠΏΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ°ΡΠΈΡΠΌΠΈ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠΎΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΠ΅ Π½Π΅Ρ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΎΡΠΌΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° if :
Π‘ΠΎΠ²Π΅Ρπ‘ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π² ΡΠΈΠΊΠ»Π°Ρ while ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π±ΡΠ»Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ.
ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Rust: Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΡΡΡΠΊΡΡΡΡ
ΠΠ»Π°Π΄Π΅Π½ΠΈΠ΅
ΠΠ»Π°Π΄Π΅Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Rust ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½ ΡΠ°ΠΊΠΎΠΉ Π΅Π³ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ.
ΠΠΎ Π²ΡΠ΅Ρ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ·ΡΠΊΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Java, JavaScript ΠΈΠ»ΠΈ Python, Π΅ΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠΈ ΠΌΡΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΡΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΡΠ»ΠΊΠΈ. Π Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΡΠΈΠΏΠ° C ΠΈΠ»ΠΈ C++ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΡΡΡΠ½ΡΡ.
Π ΡΡΠ½ΠΎΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΎ Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎΠ³Π΄Π° ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π° ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΎΠ½Π° ΡΠ°ΡΡ ΠΎΠ΄ΡΠ΅ΡΡΡ Π²ΠΏΡΡΡΡΡ. Π ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ°Π½Π½Π΅Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π²Π°ΠΆΠ΄Ρ, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅.
Rust Π²ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ ΠΎΡ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΠ° Π²Π»Π°Π΄Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°Π±ΠΎΡΠ° ΠΏΡΠ°Π²ΠΈΠ», ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΠΎΡ ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π²Π»Π°Π΄Π΅Π½ΠΈΡ.
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. ΠΠ»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ Π½Π΅Π³ΠΎ.
Π‘ΡΡΡΠΊΡΡΡΡ
ΠΠ½Π°Π»ΠΎΠ³ΠΎΠΌ ΡΡΠΈΡ ΡΡΡΡΠΊΡΡΡ Π² ΡΠ°ΠΊΠΈΡ ΡΠ·ΡΠΊΠ°Ρ , ΠΊΠ°ΠΊ Java ΠΈ Python, ΡΠ²Π»ΡΡΡΡΡ ΠΊΠ»Π°ΡΡΡ.
ΠΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ:
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠΈΠΏΠ° Car Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Car Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ brand (ΠΌΠΎΠ΄Π΅Π»ΠΈ) ΠΈ year (Π³ΠΎΠ΄Π° Π²ΡΠΏΡΡΠΊΠ°).
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Car Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅ΠΌ ΡΡΡΠ»Π°ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π²ΡΡ ΡΡΡΡΠΊΡΡΡΠ° ΡΠ΅Π»ΠΈΠΊΠΎΠΌ:
Π ΡΠ΅Π»ΠΎΠΌ ΡΡΡΡΠΊΡΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠ΅ Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΎΡΠ½ΠΎΡΡΡΠ΅ΠΉΡΡ ΠΊ ΡΠΎΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌΡ ΡΠΈΠΏΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ±ΠΎΡΠΊΠΈ Rust: Cargo
Cargo β ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ±ΠΎΡΠΊΠΈ ΠΈ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Rust. ΠΡΠΎ Π²Π°ΠΆΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° Rust. ΠΠ΄Π΅ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ (ΠΎΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ). ΠΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π»ΡΠ±ΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Rust ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ ΠΈΠΌΠ΅Π»ΠΈ Π΄Π΅Π»ΠΎ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΡ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ Π½ΠΈΡ Π½Π΅ Π½ΡΠΆΠ½Ρ. Π Π²ΠΎΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Cargo Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Cargo ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ Π½Π° GitHub, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ ΡΠ°Π½ΡΡ Π²ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π²ΠΌΠ΅ΡΡΠ΅.
ΠΡΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ Rust Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°, Cargo Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ( rustc ) ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ( rustdoc ) ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² Rust. Π£Π±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Cargo ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²Π²ΠΎΠ΄ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ Cargo Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π§ΡΠΎΠ±Ρ Π²ΡΠ΅ ΡΡΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π½Π°Π±Π΅ΡΠΈΡΠ΅:
ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΊΠ°ΠΆΡΡΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌΠΈ, Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π³ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΡΡΡ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ Rust! ΠΠΎΠ΄ ΠΎΡ Π³ΠΎΠ΄Π° Rust ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ, Π° ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΡΠ°ΠΌΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ±Π·Π°Π²Π΅ΡΡΠΈΡΡ Π½Π°Π²ΡΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ.





