TG Telegram Group & Channel
Rust | United States America (US)
Create: Update:

🎯 Задача на владение (ownership) и ссылки в Rust

Напиши функцию longest_word<'a>(a: &'a str, b: &'a str) -> &'a str,
которая возвращает слово с наибольшей длиной из двух строк.

Но есть ограничение: ты не можешь копировать строки — только возвращать ссылку.

📌 Пример:


fn main() {
let s1 = String::from("pirate");
let s2 = String::from("gold");

let result = longest_word(&s1, &s2);
println!("Longest: {}", result); // 👉 "pirate"
}


🔍 Подсказка:

- Тебе нужно указать время жизни `'a` для всех аргументов и возвращаемого значения.
- Если ты не укажешь
'a, компилятор не поймёт, какая ссылка может жить дольше.
- Возвращать
String нельзя — только &str (ссылка на строку).

🚫 Нельзя:

return a.to_string(); // копирование строки


Можно:

return a; // ссылка

@rust_code

🎯 Задача на владение (ownership) и ссылки в Rust

Напиши функцию longest_word<'a>(a: &'a str, b: &'a str) -> &'a str,
которая возвращает слово с наибольшей длиной из двух строк.

Но есть ограничение: ты не можешь копировать строки — только возвращать ссылку.

📌 Пример:


fn main() {
let s1 = String::from("pirate");
let s2 = String::from("gold");

let result = longest_word(&s1, &s2);
println!("Longest: {}", result); // 👉 "pirate"
}


🔍 Подсказка:

- Тебе нужно указать время жизни `'a` для всех аргументов и возвращаемого значения.
- Если ты не укажешь
'a, компилятор не поймёт, какая ссылка может жить дольше.
- Возвращать
String нельзя — только &str (ссылка на строку).

🚫 Нельзя:

return a.to_string(); // копирование строки


Можно:

return a; // ссылка

@rust_code


>>Click here to continue<<

Rust




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)