Size: a a a

2020 March 09

G

Gymmasssorla in rust_offtopic
polunin.ai
Там вышло 1к строк, которые можно было бы не писать
Но эта тысяча строк даёт безопасность типов и более тесную интеграцию с IDE
источник

EG

Emmanuel Goldstein in rust_offtopic
λоλторт
withObject "json" \obj -> do
 
pishu <- obj .: "пишу"
 takoe <- pishu .: "такое"
 takoe .: "выражение"
Ы. Сложно спорить с хаскеллистами, у вас всё есть.
источник

p

polunin.ai in rust_offtopic
Gymmasssorla
Но эта тысяча строк даёт безопасность типов и более тесную интеграцию с IDE
В aiogram тоже Иде все подсвечивает
источник

G

Gymmasssorla in rust_offtopic
polunin.ai
В aiogram тоже Иде все подсвечивает
Там сделали None?
источник

p

polunin.ai in rust_offtopic
Там пишешь typing.Union[Foo, None] и заебись
источник

p

polunin.ai in rust_offtopic
Gymmasssorla
Там сделали None?
Да
источник

EG

Emmanuel Goldstein in rust_offtopic
Так aiogram статически типизирован
источник

EG

Emmanuel Goldstein in rust_offtopic
polunin.ai
Там пишешь typing.Union[Foo, None] и заебись
Optional[Foo] достаточно
источник

p

polunin.ai in rust_offtopic
Emmanuel Goldstein
Optional[Foo] достаточно
А, да, так
источник

EG

Emmanuel Goldstein in rust_offtopic
И мы получаем точно такой же Option<Foo>, да
источник

G

Gymmasssorla in rust_offtopic
Тогда IDE даже теоретически не может подсвечивать мне, что, например, я хочу MediaKind::Text и мне нужны определённые поля
источник

p

polunin.ai in rust_offtopic
Emmanuel Goldstein
И мы получаем точно такой же Option<Foo>, да
Только нам не нужно делать .unwrap() через .unwrap()
источник

EG

Emmanuel Goldstein in rust_offtopic
polunin.ai
Только нам не нужно делать .unwrap() через .unwrap()
Rust:
if let Some(foo) = self.foo {
  ...
}
Python:
if self.foo is not None:
  ...
источник

p

polunin.ai in rust_offtopic
Emmanuel Goldstein
Rust:
if let Some(foo) = self.foo {
  ...
}
Python:
if self.foo is not None:
  ...
Только там будет 3 матча вложенных*
источник

p

polunin.ai in rust_offtopic
В расте
источник

EG

Emmanuel Goldstein in rust_offtopic
На один Option не будет
источник

EG

Emmanuel Goldstein in rust_offtopic
На несколько вложенных у тебя и в питоне придётся несколько ифов писать
источник

p

polunin.ai in rust_offtopic
Так мы говорим про конкретный кейс
источник

p

polunin.ai in rust_offtopic
У нас в телоксиде 2-3 уровня вложенности в типах
источник

p

polunin.ai in rust_offtopic
А в питоне куча None
источник