Result
ΠΡΠ½ΠΎΠ²Π½ΠΈΠΌ ΠΌΠ΅Ρ
Π°Π½ΡΠ·ΠΌΠΎΠΌ ΠΎΠ±ΡΠΎΠ±ΠΊΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Ρ Rust Ρ ΠΏΠ΅ΡΠ΅Π»ΡΠΊ Result
, ΡΠΊΠΈΠΉ ΠΌΠΈ ΠΊΠΎΡΠΎΡΠΊΠΎ ΡΠΎΠ·Π³Π»ΡΠ΄Π°Π»ΠΈ ΠΏΡΠ΄ ΡΠ°Ρ ΠΎΠ±Π³ΠΎΠ²ΠΎΡΠ΅Π½Π½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ
Π±ΡΠ±Π»ΡΠΎΡΠ΅ΡΠ½ΠΈΡ
ΡΠΈΠΏΡΠ².
use std::fs::File; use std::io::Read; fn main() { let file: Result<File, std::io::Error> = File::open("diary.txt"); match file { Ok(mut file) => { let mut contents = String::new(); if let Ok(bytes) = file.read_to_string(&mut contents) { println!("ΠΠΎΡΠΎΠ³ΠΈΠΉ ΡΠΎΠ΄Π΅Π½Π½ΠΈΠΊ: {contents} ({bytes} Π±Π°ΠΉΡΡΠ²)"); } else { println!("ΠΠ΅ Π²Π΄Π°Π»ΠΎΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΠΈ Π²ΠΌΡΡΡ ΡΠ°ΠΉΠ»Ρ"); } } Err(err) => { println!("Π©ΠΎΠ΄Π΅Π½Π½ΠΈΠΊ Π½Π΅ Π²Π΄Π°Π»ΠΎΡΡ Π²ΡΠ΄ΠΊΡΠΈΡΠΈ: {err}"); } } }
-
Result
ΠΌΠ°Ρ Π΄Π²Π° Π²Π°ΡΡΠ°Π½ΡΠΈ:Ok
, ΡΠΊΠΈΠΉ ΠΌΡΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½Π½Ρ ΡΡΠΏΡΡ Ρ, ΡErr
, ΡΠΊΠΈΠΉ ΠΌΡΡΡΠΈΡΡ Π΄Π΅ΡΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½Π½Ρ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ. -
Π§ΠΈ ΠΌΠΎΠΆΠ΅ ΡΡΠ½ΠΊΡΡΡ ΡΠΏΡΠΈΡΠΈΠ½ΠΈΡΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΊΡ, ΠΊΠΎΠ΄ΡΡΡΡΡΡ Ρ ΡΠΈΠ³Π½Π°ΡΡΡΡ ΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΡΡ, ΡΠΊΠ° ΠΏΠΎΠ²Π΅ΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½Π½Ρ
Result
. -
Π―ΠΊ Ρ Ρ Π²ΠΈΠΏΠ°Π΄ΠΊΡ Π·
Option
, Π²ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π±ΡΡΠΈ ΠΎΠ±ΡΠΎΠ±ΠΈΡΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΊΡ: ΠΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠΈΠΌΠ°ΡΠΈ Π΄ΠΎΡΡΡΠΏ Π½Ρ Π΄ΠΎ Π·Π½Π°ΡΠ΅Π½Π½Ρ ΡΡΠΏΡΡ Ρ, Π½Ρ Π΄ΠΎ Π·Π½Π°ΡΠ΅Π½Π½Ρ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ Π±Π΅Π· ΠΏΠΎΠΏΠ΅ΡΠ΅Π΄Π½ΡΠΎΡ ΠΎΠ±ΡΠΎΠ±ΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ Π½Π°Result
, ΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π²ΡΡΠΈΡΠΈ, ΡΠΊΠΈΠΉ ΡΠ°ΠΌΠ΅ Π²Π°ΡΡΠ°Π½Ρ Π²ΠΈ ΠΎΡΡΠΈΠΌΠ°Π»ΠΈ. ΠΠ΅ΡΠΎΠ΄ΠΈ Π½Π° ΠΊΡΡΠ°Π»Ρunwrap
ΠΏΠΎΠ»Π΅Π³ΡΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½Ρ ΡΠ²ΠΈΠ΄ΠΊΠΎΠ³ΠΎ Ρ Π±ΡΡΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Ρ, ΡΠΊΠΈΠΉ Π½Π΅ Π·Π°Π±Π΅Π·ΠΏΠ΅ΡΡΡ Π½Π°Π΄ΡΠΉΠ½Ρ ΠΎΠ±ΡΠΎΠ±ΠΊΡ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ, Π°Π»Π΅ ΠΎΠ·Π½Π°ΡΠ°Ρ, ΡΠΎ Π²ΠΈ Π·Π°Π²ΠΆΠ΄ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ±Π°ΡΠΈΡΠΈ Ρ Π²ΠΈΡ ΡΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ, Π΄Π΅ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠΏΡΡΠ΅Π½ΠΎ Π½Π°Π»Π΅ΠΆΠ½Ρ ΠΎΠ±ΡΠΎΠ±ΠΊΡ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ.
ΠΡΠ»ΡΡΠ΅ ΡΠ½ΡΠΎΡΠΌΠ°ΡΡΡ Π΄Π»Ρ Π²ΠΈΠ²ΡΠ΅Π½Π½Ρ
ΠΠΎΠΆΠ΅ Π±ΡΡΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΎ ΠΏΠΎΡΡΠ²Π½ΡΡΠΈ ΠΎΠ±ΡΠΎΠ±ΠΊΡ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Ρ Rust Π·Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ ΠΎΠ±ΡΠΎΠ±ΠΊΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ, Π· ΡΠΊΠΈΠΌΠΈ ΡΡΡΠ΄Π΅Π½ΡΠΈ ΠΌΠΎΠΆΡΡΡ Π±ΡΡΠΈ Π·Π½Π°ΠΉΠΎΠΌΡ Π· ΡΠ½ΡΠΈΡ ΠΌΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠ²Π°Π½Π½Ρ.
ΠΠΈΠΊΠ»ΡΡΠ΅Π½Π½Ρ
-
ΠΠ°Π³Π°ΡΠΎ ΠΌΠΎΠ² Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΡ Π²ΠΈΠΊΠ»ΡΡΠ΅Π½Π½Ρ, Π½Π°ΠΏΡΠΈΠΊΠ»Π°Π΄, C++, Java, Python.
-
Π£ Π±ΡΠ»ΡΡΠΎΡΡΡ ΠΌΠΎΠ² Π· Π²ΠΈΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ½ΡΠΎΡΠΌΠ°ΡΡΡ ΠΏΡΠΎ ΡΠ΅, ΡΠΈ ΠΌΠΎΠΆΠ΅ ΡΡΠ½ΠΊΡΡΡ Π·Π³Π΅Π½Π΅ΡΡΠ²Π°ΡΠΈ Π²ΠΈΠΊΠ»ΡΡΠ΅Π½Π½Ρ, Π½Π΅ Π²ΡΠ΄ΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡΡ Ρ ΡΠΈΠ³Π½Π°ΡΡΡΡ ΡΡ ΡΠΈΠΏΡ. Π¦Π΅ Π·Π°Π·Π²ΠΈΡΠ°ΠΉ ΠΎΠ·Π½Π°ΡΠ°Ρ, ΡΠΎ ΠΏΡΠΈ Π²ΠΈΠΊΠ»ΠΈΠΊΡ ΡΡΠ½ΠΊΡΡΡ Π²ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ·Π½Π°ΡΠΈΡΠΈ, ΡΠΈ ΠΌΠΎΠΆΠ΅ Π²ΠΎΠ½Π° Π·Π³Π΅Π½Π΅ΡΡΠ²Π°ΡΠΈ Π²ΠΈΠΊΠ»ΡΡΠ΅Π½Π½Ρ.
-
ΠΠΈΠΊΠ»ΡΡΠ΅Π½Π½Ρ, ΡΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΎΠ·ΠΌΠΎΡΡΡΡΡ ΡΡΠ΅ΠΊ Π²ΠΈΠΊΠ»ΠΈΠΊΡΠ², ΠΏΠΎΡΠΈΡΡΡΡΠΈΡΡ Π²Π³ΠΎΡΡ, ΠΏΠΎΠΊΠΈ Π½Π΅ Π±ΡΠ΄Π΅ Π΄ΠΎΡΡΠ³Π½ΡΡΠΎ Π±Π»ΠΎΠΊΡ
try
. ΠΠΎΠΌΠΈΠ»ΠΊΠ°, ΡΠΎ Π²ΠΈΠ½ΠΈΠΊΠ»Π° Π³Π»ΠΈΠ±ΠΎΠΊΠΎ Ρ ΡΡΠ΅ΠΊΡ Π²ΠΈΠΊΠ»ΠΈΠΊΡΠ², ΠΌΠΎΠΆΠ΅ Π²ΠΏΠ»ΠΈΠ½ΡΡΠΈ Π½Π° Π½Π΅ ΠΏΠΎΠ²βΡΠ·Π°Π½Ρ Π· Π½Π΅Ρ ΡΡΠ½ΠΊΡΡΡ, ΡΠΎΠ·ΡΠ°ΡΠΎΠ²Π°Π½Ρ Π²ΠΈΡΠ΅.
ΠΠΎΠ΄ΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ
-
Π£ Π΄Π΅ΡΠΊΠΈΡ ΠΌΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΡΡ ΠΏΠΎΠ²Π΅ΡΡΠ°ΡΡΡ ΠΊΠΎΠ΄ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ (Π°Π±ΠΎ ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½Π½Ρ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ) ΠΎΠΊΡΠ΅ΠΌΠΎ Π²ΡΠ΄ ΡΡΠΏΡΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½Π½Ρ, ΡΠΊΠ΅ ΠΏΠΎΠ²Π΅ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΡΡ. ΠΡΠΈΠΊΠ»Π°Π΄ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡΡ C ΡΠ° Go.
-
ΠΠ°Π»Π΅ΠΆΠ½ΠΎ Π²ΡΠ΄ ΠΌΠΎΠ²ΠΈ ΠΌΠΎΠΆΠ½Π° Π·Π°Π±ΡΡΠΈ ΠΏΠ΅ΡΠ΅Π²ΡΡΠΈΡΠΈ Π·Π½Π°ΡΠ΅Π½Π½Ρ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ, Ρ Π² ΡΡΠΎΠΌΡ Π²ΠΈΠΏΠ°Π΄ΠΊΡ Π²ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠΈΠΌΠ°ΡΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π½Π΅ΡΠ½ΡΡΡΠ°Π»ΡΠ·ΠΎΠ²Π°Π½ΠΎΠ³ΠΎ Π°Π±ΠΎ ΡΠ½ΡΠΈΠΌ ΡΠΈΠ½ΠΎΠΌ Π½Π΅Π΄ΡΠΉΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½Π½Ρ ΡΡΠΏΡΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½Π½Ρ.