Rust
6.89K subscribers
298 photos
32 videos
3 files
867 links
Rust programming language

По всем вопросам- @haarrp

@ai_machinelearning_big_data - машинное обучение

@programming_books_it - бесплатные it книги

@pythonl - 🐍

@ArtificialIntelligencedl - AI

@datascienceiot - ml 📚
Download Telegram
🦀 #Rust Tip: Трюк доступный начиная с Rust 2024 Edition

Вы можете чейнить `if let Some(...)` прямо в одном выражении — без вложенности и лишнего кода!

Пример:


fn sum_first_two(nums: &[u8]) -> Option<u8> {
let mut iter = nums.iter();
if let Some(first) = iter.next()
&& let Some(second) = iter.next() {
first.checked_add(*second)
} else {
None
}
}


#rust #juior #tip
🔥35👍105🥱2🥰1😡1
🦀 Rust совет: когда использовать &self, &mut self, self и mut self — на реальном примере

Этот сниппет отлично показывает разные модели владения при методах:


// читает, не меняя
fn len(&self) -> usize { … }

// изменяет объект на месте
fn push(&mut self, b: u8) { … }

// забирает владение — после вызова исходный объект больше недоступен
fn into_vec(self) -> Vec<u8> { … }

// builder-стиль: забирает владение, внутри mut, возвращает обновлённый объект
fn with_extra(mut self, extra: Vec<u8>) -> Self { … }


Коротко:
- &self → читаем
- &mut self → изменяем
- self → потребляем объект
- mut self → потребляем + модифицируем и возвращаем (удобно для fluent API)

Понимание этих четырёх форм - ключ к грамотной архитектуре в Rust.

#rust #tip #junior

@rust_code
31👍17🔥8🥰1