Size: a a a

Rust — русскоговорящее сообществo

2020 April 02

ML

Mike Lubinets in Rust — русскоговорящее сообществo
Hadji
Всегда сложно переключаться на новый язык. Сам с такой же проблемой сижу :) TRPL и правда хорошо написана, но она таки не учит "правильно писать на расте". Если найдешь ответ, поделись и со мной тоже) Я пока пишу, как получается, и оставляю вопрос идиоматичности кода на потом 🤷‍♂️
Чтобы научиться писать идиоматично нужно читать чужой код, и просить ревьювить свой (кстати, в этом чате многие откликаются)
источник

A

AlexG in Rust — русскоговорящее сообществo
Mike Lubinets
А ты прочитал The Rust Programming Language Book?
Я в процессе
источник

A

AlexG in Rust — русскоговорящее сообществo
Mike Lubinets
Чтобы научиться писать идиоматично нужно читать чужой код, и просить ревьювить свой (кстати, в этом чате многие откликаются)
А есть какая-то книга про эту самую идиоматику?
источник

p

polunin.ai in Rust — русскоговорящее сообществo
AlexG
А есть какая-то книга про эту самую идиоматику?
ее нет ни для одного языка) просто пиши код, и оно само придет.
а так, в расте два вида кода: который компилируется, и который не пропускает компилятор. Если компилятор пропустил, скорее всего он идиоматичен.
источник

ML

Mike Lubinets in Rust — русскоговорящее сообществo
AlexG
А есть какая-то книга про эту самую идиоматику?
источник

A

AlexG in Rust — русскоговорящее сообществo
О! Спасибо!
источник

ML

Mike Lubinets in Rust — русскоговорящее сообществo
polunin.ai
ее нет ни для одного языка) просто пиши код, и оно само придет.
а так, в расте два вида кода: который компилируется, и который не пропускает компилятор. Если компилятор пропустил, скорее всего он идиоматичен.
O__o
источник

ML

Mike Lubinets in Rust — русскоговорящее сообществo
No.
источник

H

Hadji in Rust — русскоговорящее сообществo
Mike Lubinets
Чтобы научиться писать идиоматично нужно читать чужой код, и просить ревьювить свой (кстати, в этом чате многие откликаются)
Да, я заметил. Здорово, что откликаются. У меня вот есть проблемы с тем, чтобы нормально использовать Result/Option, когда задачка выходит за рамки тривиальных примеров:
https://pastebin.com/TG8pm7eN

Этот код работает, но выглядит плохо и есть пара warning-сообщений, которые надо поправить
источник

p

polunin.ai in Rust — русскоговорящее сообществo
что конкретно?
источник

ML

Mike Lubinets in Rust — русскоговорящее сообществo
polunin.ai
что конкретно?
Не любой компилирующийся код идиоматичен
источник

ML

Mike Lubinets in Rust — русскоговорящее сообществo
Далеко не любой.
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Mike Lubinets
Не любой компилирующийся код идиоматичен
> скорее всего
источник

ML

Mike Lubinets in Rust — русскоговорящее сообществo
polunin.ai
> скорее всего
Нет, связи абсолютно никакой не существует между идиоматичностью и корректностью с точки зрения компилятора.
источник

ML

Mike Lubinets in Rust — русскоговорящее сообществo
Hadji
Да, я заметил. Здорово, что откликаются. У меня вот есть проблемы с тем, чтобы нормально использовать Result/Option, когда задачка выходит за рамки тривиальных примеров:
https://pastebin.com/TG8pm7eN

Этот код работает, но выглядит плохо и есть пара warning-сообщений, которые надо поправить
Используй map_err вместо match
источник

H

Hadji in Rust — русскоговорящее сообществo
Mike Lubinets
Используй map_err вместо match
Спасибо) Я хотел просто сперва побольше фич написать, пусть и корявенько, а потом найти какие-то общие проблемы в своем коде, и задать один вопрос на одну конкретную проблему
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Mike Lubinets
Нет, связи абсолютно никакой не существует между идиоматичностью и корректностью с точки зрения компилятора.
как знаешь
источник

АГ

Алексей Герасимов in Rust — русскоговорящее сообществo
Hadji
Спасибо) Я хотел просто сперва побольше фич написать, пусть и корявенько, а потом найти какие-то общие проблемы в своем коде, и задать один вопрос на одну конкретную проблему
если что, рекомендую как освоишься с использованием result посмотреть в сторону библиотек this error и anyhow, или snafu, они существенно упрощают работу с ошибками, а именно маппинг в доменные типы ошибок
источник

H

Hadji in Rust — русскоговорящее сообществo
Алексей Герасимов
если что, рекомендую как освоишься с использованием result посмотреть в сторону библиотек this error и anyhow, или snafu, они существенно упрощают работу с ошибками, а именно маппинг в доменные типы ошибок
Спасибо!
источник

H

Hadji in Rust — русскоговорящее сообществo
Кстати, раз уж речь зашла, то, к примеру, для Скалы Одерски попытался в свое время систематизировать уровни знания языка:
https://www.scala-lang.org/old/node/8610

Плюс есть такая штука для ФП в целом:
https://pbs.twimg.com/media/CydL5EYUsAAI-61?format=jpg&name=4096x4096

Если кто-то знает про похожие штуки для Раста, поделитесь, пожалуйста.

Я понимаю, что это на 100% серьезно воспринимать нельзя, но с точки зрения новичка дает хороший обзор, мне кажется
источник