Size: a a a

2020 June 24

in

ildar nizamov in rannts
выложи минимальный проект, в котором ошибка воспроизводится
источник

SA

Sergey Arkhipov in rannts
https://www.python.org/dev/peps/pep-0622/ паттерн-матчинг к нам приходит
источник

AG

Alexander Gorokhov in rannts
Не по питонски как то
источник

💭П

💭 Руслан Прохоров... in rannts
Прошу меня простить? Они хотят Case на стеройдах?
источник

RB

Roman Bolkhovitin in rannts
ildar nizamov
выложи минимальный проект, в котором ошибка воспроизводится
я попробую набросать, но не факт что это так просто получится сделать - в проекте твистед, и все что можно обмазано inlineCallbacks, даже там где нет никакого ввода-вывода. Подозреваю что мои предшественники исповедовали карго-культ 😊

но в статье на медиуме есть ссылка на репку
источник

💭П

💭 Руслан Прохоров... in rannts
и как это будет работать?
match shape:
   case Point(x, y):
       ...
   case Rectangle(x, y, _, _):
       ...
print(x, y)  # This works
источник

SZ

Sergey Z in rannts
что-то в этом паттерн матчинге от собственно паттерн матчинга (я его понимаю только как эрланговую имплементацию) осталось только название
источник

💭П

💭 Руслан Прохоров... in rannts
Как это работает:
match number:
   case 0:
       print("Nothing")
   case 1:
       print("Just one")
   case 2:
       print("A couple")
   case -1:
       print("One less than nothing")
   case 1-1j:
       print("Good luck with that...")


Я понимаю )
источник

RB

Roman Bolkhovitin in rannts
заносить  match case в язык в котором нет switch case это издевательство ))))
источник

💭П

💭 Руслан Прохоров... in rannts
This is used to match against constants and enum values. Every dotted name in a pattern is looked up using normal Python name resolution rules, and the value is used for comparison by equality with the matching expression (same as for literals). As a special case to avoid ambiguity with name patterns, simple names must be prefixed with a dot to be considered a reference:


Это зачем?
источник

💭П

💭 Руслан Прохоров... in rannts
чтобы превратить красивый и читаемый код в С++ с его :: и всякими ->?
источник

💭П

💭 Руслан Прохоров... in rannts
case ._: ...
case _.a: ...


Гвидо вернись, они просерают полимеры!
источник

RB

Roman Bolkhovitin in rannts
💭 Руслан Прохоров
чтобы превратить красивый и читаемый код в С++ с его :: и всякими ->?
вы все врети, нет такого кода )
источник

SZ

Sergey Z in rannts
ну хочется того или нет, а технология будет развиваться
источник

RB

Roman Bolkhovitin in rannts
но вообще стадия отрицания это напрасно. игрался с хаскелем когда-то на степике, очень забавно это все - паттерн матчинг, гарды. там правда рекурсия нормальная, а в питоне нету )))
источник

💭П

💭 Руслан Прохоров... in rannts
match input:
   case [x, y] if x > MAX_INT and y > MAX_INT:
       print("Got a pair of large numbers")
   case x if x > MAX_INT:
       print("Got a large number")
   case [x, y] if x == y:
       print("Got equal items")
   case _:
       print("Not an outstanding input")
источник

💭П

💭 Руслан Прохоров... in rannts
Это нормально?
источник

SA

Sergey Arkhipov in rannts
Sergey Z
что-то в этом паттерн матчинге от собственно паттерн матчинга (я его понимаю только как эрланговую имплементацию) осталось только название
Это структурный паттерн-матчинг. он нужен для того, чтобы объяснить интерпретатору как можно расковырять структуры данных и распихать их по переменным. следующий шаг - замена ифчиков - этого пока нет слава богу, хотя некоторые рудименты в наличии
источник

SA

Sergey Arkhipov in rannts
Бля. Я пропустил. Вот вам и guards из эрланга 🙂
источник

RB

Roman Bolkhovitin in rannts
💭 Руслан Прохоров
case ._: ...
case _.a: ...


Гвидо вернись, они просерают полимеры!
а ты внимательный )))
Author:
 Brandt Bucher <brandtbucher at gmail.com>
 Tobias Kohn <kohnt at tobiaskohn.ch>
 Ivan Levkivskyi <levkivskyi at gmail.com>
 Guido van Rossum <guido at python.org>
 Talin <viridia at gmail.com>
источник