trening
This commit is contained in:
@@ -78,6 +78,30 @@ impl Filmoteka {
|
||||
result
|
||||
}
|
||||
|
||||
fn nacitaj(cesta: &str) -> Result<String, std::io::Error> {
|
||||
std::fs::read_to_string(cesta)
|
||||
}
|
||||
|
||||
fn nacitaj2(cesta: &str) -> bool {
|
||||
std::fs::read_to_string(cesta).is_ok()
|
||||
}
|
||||
|
||||
fn nacitaj3(cesta: &str) -> Result<String, String> {
|
||||
match std::fs::read_to_string(cesta) {
|
||||
Ok(obsah) => Ok(obsah),
|
||||
Err(err) => Err(err.to_string()),
|
||||
}
|
||||
}
|
||||
|
||||
fn parsuj_cislo(text: &str) -> Option<i32> {
|
||||
let x = text.parse::<i32>();
|
||||
x.ok()
|
||||
}
|
||||
|
||||
fn parsuj_cislo2(text: &str) -> Option<i32> {
|
||||
text.parse::<i32>().ok()
|
||||
}
|
||||
|
||||
pub fn uloz_do_suboru(&self, cesta: &std::path::PathBuf) -> bool {
|
||||
let Ok(json) = serde_json::to_string_pretty(&self) else {
|
||||
return false;
|
||||
@@ -86,3 +110,22 @@ impl Filmoteka {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
impl Film {
|
||||
pub fn new(
|
||||
nazov: &str,
|
||||
reziser: &str,
|
||||
rok: u16,
|
||||
zaner: Zaner,
|
||||
hodnotenie: f32
|
||||
) -> Option<Self> {
|
||||
if hodnotenie < 0.0 || hodnotenie > 10.0 {
|
||||
return None;
|
||||
};
|
||||
return Some(Self {
|
||||
nazov: nazov.to_string(),
|
||||
reziser: reziser.to_string(),
|
||||
rok, zaner, hodnotenie
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,58 @@
|
||||
fn main() {
|
||||
println!("Hello, world!");
|
||||
match std::fs::read_to_string("subor.txt") {
|
||||
Ok(x) => print!("{x}"),
|
||||
Err(y) => print!("{y}"),
|
||||
};
|
||||
}
|
||||
|
||||
fn nacitaj_a_parsuj(cesta: &str) -> Result<i32, Box<dyn std::error::Error>> {
|
||||
let obsah = match std::fs::read_to_string(cesta) {
|
||||
Ok(s) => s,
|
||||
Err(e) => return Err(Box::new(e)),
|
||||
};
|
||||
let cislo = match obsah.trim().parse::<i32>() {
|
||||
Ok(n) => n,
|
||||
Err(e) => return Err(Box::new(e)),
|
||||
};
|
||||
Ok(cislo)
|
||||
}
|
||||
|
||||
fn nacitaj_a_parsuj2(cesta: &str) -> Result<i32, Box<dyn std::error::Error>> {
|
||||
let obsah = std::fs::read_to_string(cesta)?;
|
||||
let cislo = obsah.trim().parse::<i32>()?;
|
||||
Ok(cislo)
|
||||
}
|
||||
|
||||
fn prvy_sused(vektor: &[i32], index: usize) -> Option<i32> {
|
||||
if index == 0 {
|
||||
return None;
|
||||
}
|
||||
let predchadzajuci = index.checked_sub(1);
|
||||
match predchadzajuci {
|
||||
Some(i) => {
|
||||
if i < vektor.len() {
|
||||
Some(vektor[i])
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
None => None,
|
||||
}
|
||||
}
|
||||
|
||||
fn prvy_sused2(vektor: &[i32], index: usize) -> Option<i32> {
|
||||
if index == 0 {
|
||||
return None;
|
||||
}
|
||||
let predchadzajuci = index.checked_sub(1)?;
|
||||
if predchadzajuci < vektor.len() {
|
||||
return Some(vektor[predchadzajuci]);
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
fn nacitaj_json(cesta: &str) -> Option<Vec<String>> {
|
||||
let nacitane = std::fs::read_to_string(cesta).ok()?;
|
||||
let vec = serde_json::from_str::<Vec<String>>(nacitane.as_str());
|
||||
Some(vec.ok()?)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user