LINUX.ORG.RU

вопрос по rust

 


0

2

hi, есть функция в которую передается

fn process(mut socket: TcpStream

в этой функции множество точек выхода по ошибкам (?) и надо перед завершением этой функции отправить в сокет сообщение, был бы defer как в golang былобы отлично. можно было бы это сделать за точкой вызова этой функции, но socket был передан в эту функцию и его больше нет ?



Последнее исправление: Cergoo (всего исправлений: 1)

Ответ на: комментарий от zurg

такое делается через собственную имплементацию трейта Drop (для TcpStream в данном случае )

а как вы такое делаете, мне ругается что нельзя. пришлось обернуть в свою структуру.

Cergoo
() автор топика

По моим наблюдениям раст хорошо заходит у тех, кто уже имел какой-то базовый уровень знаний в ФП. Поэтому совет простой. Хотите лучше разобраться с растом, изучайте также и (статически типизированные) языки ФП, типа того же хаскеля, F#, скалы или окамла! Многие вещи станут понятнее. Увидите много знакомого, много аналогий между растом и ФП.

Ну, и это работает часто в обратную сторону. К сожалению, если брать молодых, то ФП идет у них очень туго. Может быть, общий кризис образования по всему миру, такой общий тренд. Не знаю что. Ну, и соответственно. Если нет представлений об ФП, то тогда раст кажется непонятным и сложным, хотя по мне раст концептуально проще, чем C++ в раз 10, если в 50. Ну, это так, грубая прикидка. Писал и продолжаю писать много на обоих языках, если что, в том числе, коммерческий софт

anonymous
()
Ответ на: комментарий от anonymous

По моим наблюдениям раст хорошо заходит у тех, кто уже имел какой-то базовый уровень знаний в ФП

+100

типа того же хаскеля, F#, скалы или окамла!

Лучше всего OCaml, на нем была написана первая версия rust компилятора, и прямо заимствованы некоторые особенности.

anonymous
()
Ответ на: комментарий от anonymous

Растаманы не понимают, что надежные программы мало кому нужны. Нужны быстро написанные и внедрённые в продакт программы, а если они будут иногда падать, то это значит, что они новые, а не говно мамонта. Спроси почитателей роллинг релизов, они подтвердят концепцию.

anonymous
()