
Tigran
23.03.2019
13:52:58
https://github.com/erikrose/more-itertools/issues/277 — это какая-то вообще кошмарная вкусовщина, не думаю, что её добавят (я бы не стал добавлять)

?̷???
23.03.2019
13:53:02

Roman
23.03.2019
13:54:19

Google

Roman
23.03.2019
13:56:30

Tigran
23.03.2019
13:58:40

Владимир
23.03.2019
14:00:52
чем она такова?


Roman
23.03.2019
14:04:34
Не знаю, насколько она хорошо написана, но у неё очень хороший интерфейс. Она общая. А у тебя прямо в пулл-реквесте в нескольких местах упомянута NLP-cпецифика, плюс ещё она у тебя только для строк.
1. "Не знаю, насколько она хорошо написана". Она написана, мягко скажем, странно.
2. "очень хороший интерфейс". В чём это заключается? В том, что мы пихаем строку, а возвращается список из кортежей односимвольных строк? Чем мой интерфейс хуже кроме (5) в данном сообщении?
3. "Она общая". Согласен. Только в ущерб удобству.
4. "А у тебя прямо в пулл-реквесте в нескольких местах упомянута NLP-cпецифика". Как пример. Уверен, что в биоинформатике может быть тоже полезно.
5. "плюс ещё она у тебя только для строк". Нет, она для subscriptable и sized collections. Никто не мешает вызвать list если у тебя, к примеру, генератор. Тем более, что в их функции генератор исчерпается неявно. Ну достаточно очевидно, что это произойдёт, но всё равно, явное лучше неявного.


Оняме
23.03.2019
14:06:21
Приветствую всех в этом чате! И сразу хочу спросить: есть ли в чате С++ программисты?

Tigran
23.03.2019
14:07:11
Когда что-то общее не подходит мне по удобству, я пишу утилитку и кладу её в свой проектный utility.

Roman
23.03.2019
14:08:36

Оняме
23.03.2019
14:09:39
Эх, походу здесь нет людей, которые пишут/писали когда-то на С++

Tigran
23.03.2019
14:09:54
Я думаю, что ты просто хочешь, чтобы в библиотеку добавили твой код. :)

Roman
23.03.2019
14:11:28

Tigran
23.03.2019
14:12:01
О, а ты случаем не из мира JS? Там тоже любят десять строчек в библиотеку выносить.

?? Eugene
23.03.2019
14:12:16

Google

Roman
23.03.2019
14:12:19

Tigran
23.03.2019
14:12:23
Ну серьёзно, эти две функции не стоили пулл-реквестов.

Оняме
23.03.2019
14:13:50

Roman
23.03.2019
14:14:01

?? Eugene
23.03.2019
14:14:02

Оняме
23.03.2019
14:14:32
Где ты его откопал)

?? Eugene
23.03.2019
14:15:05
Где ты его откопал)
https://github.com/goq/telegram-list/blob/master/README.md#%D0%9C%D0%B5%D0%BD%D1%8E

Roman
23.03.2019
14:15:27
@Saluev ты даже не намекнул, как сделать partitions через product. А мне интересно, вдруг, действительно так круче.

Tigran
23.03.2019
14:16:47

Roman
23.03.2019
14:17:07

Tigran
23.03.2019
14:17:42
А по параметру «отношение количества умственного напряжения для понимания, что происходит, к вероятности, что эта функция пригодится» твоя substrings_new стремится к бесконечности.

Roman
23.03.2019
14:21:26

Tigran
23.03.2019
14:24:56
Ага, теперь у неё есть внезапный флаг with_indexes. Умственное напряжение возросло.

Roman
23.03.2019
14:26:12
def partitions(arr):
arr = list(arr)
n = len(arr)
for p in itertools.product((False, True), repeat=n-1):
indices = [0] + [i+1 for i, flag in enumerate(p) if flag] + [n]
yield [arr[i:j] for i, j in zip(indices, indices[1:])]
Оно не быстрее, но проще.
Оно и быстрее (не сильно, но всё же), и проще. Спасибо, я забыл про то, что product можно с repeat использовать.
Ты не против, если я заменю код в PR на модифицированный твой?

Des_
23.03.2019
14:33:36
Есть ли разница в расширении файла бд? Просто насколько я знаю у sqlite расширение файла .db, а в туториале говорят создать файл schema.sql. Это на что-то повлияет?

Tigran
23.03.2019
14:34:36

Roman
23.03.2019
14:35:40

Google

Vladislav
23.03.2019
14:36:27
http://www.cyberforum.ru/shell/thread2424087.html#post13428933

Tigran
23.03.2019
14:37:11
Который по умолчанию False. Человек сначала попробует вызвать substrings('abcd'), удовлетворится результатом и забъёт. И на сколько оно возрасло? Мозг перегрелся? Мне кажется, что ты считаешь пользователей библиотек тупыми.
Я пользователь. Я хочу составить представление о том, что в библиотеке есть. Я листаю функции, и тут я встречаю дубликат функции, которую я уже пролистал, но только для индексируемых контейнеров, с флагом, который не имеет к этому отношения, и странными гарантиями на порядок, необходимость в которых мне не очевидна. Хоба, я останавливаюсь и трачу силы, чтобы понять, что это было.


Roman
23.03.2019
14:43:59
Я пользователь. Я хочу составить представление о том, что в библиотеке есть. Я листаю функции, и тут я встречаю дубликат функции, которую я уже пролистал, но только для индексируемых контейнеров, с флагом, который не имеет к этому отношения, и странными гарантиями на порядок, необходимость в которых мне не очевидна. Хоба, я останавливаюсь и трачу силы, чтобы понять, что это было.
Именно поэтому я и сделал issue, а не PR, чтобы мы решили, что с этим делать. Моя функция лучше во всём, чем имеющаяся, за исключением того, что она требует Collection, а не Iterable (который всё равно преобразуется в list, а значит память тратится). Но поведение не совпадает, поэтому просто заменять - плохо. А как хорошо - я не знаю. Возможно, стоит сделать флаг new_implementation=False и вызывать по умолчанию старую и сделать этот флаг deprecated. Потом старую выпилить. Но это им решать.

Tigran
23.03.2019
14:44:40
> флаг new_implementation=False
Одна идея лучше другой просто.

Tishka17
23.03.2019
14:46:35

Roman
23.03.2019
14:48:20

Tigran
23.03.2019
14:48:41

Roman
23.03.2019
14:49:02

Tishka17
23.03.2019
14:49:13
Ага, ага
Сто раз слышал

Roman
23.03.2019
14:50:03

Tigran
23.03.2019
14:50:23

Roman
23.03.2019
14:50:26
Ага, ага
Это был сарказм. Извини, тег забыл поставить.
Нет, давайте оставим фиговую реализацию навсегда, раз один раз что-то написали!
Кстати, вот в make обязательны табы. Автору предложили сделать пробелы. Он сказал, что да, наверное, так было бы лучше. "Но как я могу переделывать программу когда ею пользуется уже 2 десятка человек".

Tishka17
23.03.2019
15:03:03
Как связана реализация и интерфейс?
Можно менять хоть каждый день, интерфейс не меняй

ᅠ
23.03.2019
15:07:18
А собственно зачем тебе в хроме логиниться

Google

Sab0
23.03.2019
15:07:33

ᅠ
23.03.2019
15:08:02
А других вариантов капчу убить нет?

Sab0
23.03.2019
15:08:26
я весь внимание

ᅠ
23.03.2019
15:08:58
Хахах
Я тебе не подскажу это точно

Sab0
23.03.2019
15:09:29
тогда увы( их нет
капча гугла

ᅠ
23.03.2019
15:09:35
Мне кажется тут сам webdriver просто не рассчитан на авторизацию

Sab0
23.03.2019
15:10:16
пока что я солидарен с этим мнением

Roman
23.03.2019
15:10:27

Tishka17
23.03.2019
15:11:06

Roman
23.03.2019
15:13:23
Но это моё предложение. Может они просто предложат назвать функцию substrings2. Такое меня тоже устроит.

Tishka17
23.03.2019
15:14:42
Либо сабмодуль с новым номером

Roman
23.03.2019
15:15:25

Tishka17
23.03.2019
15:15:50
Если новый интерфейс, это уже новые сущности

Roman
23.03.2019
15:15:51

Tishka17
23.03.2019
15:16:10
Ну я без понятия что у тебя там меняется

Roman
23.03.2019
15:16:18

Google

Tishka17
23.03.2019
15:16:27
Так ты говоришь новый интерфейс
Новые параметры, новый результат

Roman
23.03.2019
15:16:57

Tishka17
23.03.2019
15:20:37
Так поведение меняется
Имеет смысл сделать говорящее название
Если не меняется, просто выкидывай старую

Roman
23.03.2019
15:22:21

Tishka17
23.03.2019
15:22:37
Я пьян, лучше меня не слушай
А то получится fucking_substr

Roman
23.03.2019
15:26:05

Tishka17
23.03.2019
15:26:26
:)

Александр
23.03.2019
15:35:58
О, у вас тут коллективная разработка

Dark
23.03.2019
15:36:30
как в гитигнор прописать что файлы *.dat из любых папок не нужно учитывать?