ΠΠ»Π°Π΄Π΅Π½ΠΈΠ΅, Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΡΡΠ»ΠΊΠΈ Π² Rust: ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π΅Π»Π°Π΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ
Π Rust ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
Π½Π΅ΠΏΡΠΈΠ²ΡΡΠ½ΡΡ
Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ΅ΠΌ β ΡΡΠΎ ownership (Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅) ΠΈ borrowing (Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅). ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΈΡΠ°ΡΡ Π½Π° Rust ΠΊΠ°ΠΊ Π½Π° C++ ΠΈΠ»ΠΈ Python, Π½Π°ΡΡΠΊΠ°ΡΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° borrow checker'Π° ΠΏΠΎΠ½Π°ΡΠ°Π»Ρ ΠΊΠ°ΠΆΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΡΠΎΠ³ΠΈΠΌΠΈ. ΠΠ° Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠΎΡΡΠΎ Π·Π°ΡΠΈΡΠ°Π΅Ρ Π²Π°Ρ ΠΎΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π΄ΡΡΠ³ΠΈΡ
ΡΠ·ΡΠΊΠ°Ρ
ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΏΠ°Π΄Π΅Π½ΠΈΡΠΌ, ΡΡΠ΅ΡΠΊΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π³ΠΎΠ½ΠΊΠ°ΠΌ Π΄Π°Π½Π½ΡΡ
. ΠΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΡΠΆΠΈΡΡΡΡ Ρ borrow checkerβΠΎΠΌ, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ, Π° Π½Π΅ Π·Π°ΡΡΠΈΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°.
ΠΠ° ΠΎΡΠΊΡΡΡΠΎΠΌ Π²Π΅Π±ΠΈΠ½Π°ΡΠ΅ 9 ΡΠ΅Π½ΡΡΠ±ΡΡ Π² 20:00 ΡΠ°Π·Π±Π΅ΡΡΠΌ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Rust, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΄ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ Π±Π΅Π· ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ°. ΠΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ Π½Π° ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΈΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½ΡΡ
ΡΡΡΠ»ΠΎΠΊ (&), Π½ΠΎ ΠΌΡΡΠ°Π±Π΅Π»ΡΠ½Π°Ρ (&mut) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° β ΠΈ Π½Π΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΠΈΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌΠΈ. Π Π°Π·Π±Π΅ΡΡΠΌ, ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ (move) ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Copy/Clone). ΠΠ±ΡΡΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ (lifetimes): ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ²Π½ΠΎ, Π° ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΅Π³ΠΎ ΡΠ°ΠΌ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΡΠ»ΠΈΠ·ΠΈΠΈ (lifetime elision). ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ borrow checker'Π°, ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΡΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ»Π°ΠΉΡΠ°ΠΌΠΈ, ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π²Π»Π°Π΄Π΅Π½ΠΈΡ ΠΈ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ Π³ΠΎΠ½ΠΊΠΈ Π΄Π°Π½Π½ΡΡ
, ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄ΡΠ½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅.
ΠΠ΅Π±ΠΈΠ½Π°Ρ Π½Π΅ Π΄Π»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Ρ
ΠΎΡΠ΅Ρ ΠΏΡΠΎΡΡΠΎ Β«ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΒ» Π±Π΅Π· ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΡ Π² ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎΠ΄ΠΎΠΉΠ΄ΡΡ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ ΡΠ·ΡΠΊΠ° β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΡΠΈΠΏΠ°ΠΌΠΈ β ΠΈ Ρ
ΠΎΡΠ΅Ρ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ°ΠΌΡΡΠΈ Rust, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Ρ ΠΎΠΏΡΡΠΎΠΌ Π² C++, Java ΠΈΠ»ΠΈ Python, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ
ΠΎΡΡΡ ΠΏΠΎΠ½ΡΡΡ ΡΠ°ΠΌΡΡ Π²Π°ΠΆΠ½ΡΡ ΠΈ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠ·ΡΠΊΠ°.
π ΠΠ°ΠΏΠΈΡΠ°ΡΡΡΡ: https://vk.cc/d1h1YA
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576
Post #3661
1.42K

- β€ 2
- π 2
- π₯ 1