Ct
data_str.split('\n').map(String::from).collect() и возвращать Vec<String> из функцииSize: a a a
Ct
data_str.split('\n').map(String::from).collect() и возвращать Vec<String> из функцииAV
fn read_lines_from_file<'a>(mut fz: File) -> Vec<&'a str> {
let mut data_str = String::new();
fz.read_to_string(&mut data_str);
data_str.split('\n').collect::<Vec<&'a str>>().clone()
} пытаюсь сделать так, но возникает проблема с временем жизни data_str, `data_str` does not live long enough
borrowed value does not live long enough
data_str: &mut String в аргументахph
fn read_lines_from_file<'a>(mut fz: File) -> Vec<&'a str> {
let mut data_str = String::new();
fz.read_to_string(&mut data_str);
data_str.split('\n').collect::<Vec<&'a str>>().clone()
} пытаюсь сделать так, но возникает проблема с временем жизни data_str, `data_str` does not live long enough
borrowed value does not live long enough
b
fn read_lines_from_file<'a>(mut fz: File) -> Vec<String> {
let mut data_str = String::new();
let mut lines = Vec::new();
fz.read_to_string(&mut data_str).unwrap();
let _ = data_str.split('\n').map(|b| lines.push(b.to_string()));
lines
}Ct
fn read_lines_from_file<'a>(mut fz: File) -> Vec<String> {
let mut data_str = String::new();
let mut lines = Vec::new();
fz.read_to_string(&mut data_str).unwrap();
let _ = data_str.split('\n').map(|b| lines.push(b.to_string()));
lines
}b
Ct
fn read_lines_from_file<'a>(mut fz: File) -> Vec<String> {
let mut data_str = String::new();
let mut lines = Vec::new();
fz.read_to_string(&mut data_str).unwrap();
let _ = data_str.split('\n').map(|b| lines.push(b.to_string()));
lines
}D
d
b
b
fn read_lines_from_file<'a>(mut fz: File) -> Vec<String> {
let mut data_str = String::new();
let mut lines = Vec::new();
fz.read_to_string(&mut data_str).unwrap();
for line in data_str.split('\n') {
lines.push(line.to_string())
}
lines
} вот так работаетd
fn read_lines_from_file<'a>(mut fz: File) -> Vec<String> {
let mut data_str = String::new();
let mut lines = Vec::new();
fz.read_to_string(&mut data_str).unwrap();
for line in data_str.split('\n') {
lines.push(line.to_string())
}
lines
} вот так работаетSS
fn read_lines_from_file<'a>(mut fz: File) -> Vec<String> {
let mut data_str = String::new();
let mut lines = Vec::new();
fz.read_to_string(&mut data_str).unwrap();
for line in data_str.split('\n') {
lines.push(line.to_string())
}
lines
} вот так работаетЭ
fn read_lines_from_file(mut fz: File, buffer_string: &mut String) -> io::Result<Vec<&str>> {
fz.read_to_string(&mut buffer_string)?;
Ok(buffer_string.lines().collect())
}Э
r
fn read_lines_from_file<'a>(mut fz: File) -> Vec<String> {
let mut data_str = String::new();
let mut lines = Vec::new();
fz.read_to_string(&mut data_str).unwrap();
for line in data_str.split('\n') {
lines.push(line.to_string())
}
lines
} вот так работаетf.lines()
.map(|result| {
let mut s = result.expect("Cannot read");
if s.ends_with('\n') {
s.pop();
}
s
})
.collect()
Э
b
fn read_lines_from_file(mut fz: File, buffer_string: &mut String) -> io::Result<Vec<&str>> {
fz.read_to_string(&mut buffer_string)?;
Ok(buffer_string.lines().collect())
}Э
Э
let mut s = String::new();
let mut lines = { fz.read_to_string(&mut s); s.lines() };
lines.for_each(|l| println!("{}", l));