Анна
安懶 вот это если записать хангылем, а не иероглифами, тоже будет 안나. Никогда об этом не думала, но это же идеально 😂 Первый - это "спокойный, мирный", а второй "ленивый, лежебока, без мотивации" Нет, не подходит, не в начале слова "ленивый" пишется по-другому. Лучше я пойду на OCaml кодить 😭
Vladislav
А код sendphoto есть?
Nikolay
https://github.com/Dolfik1/Funogram/blob/master/Funogram/Api.fs#L53
Dr. Friedrich
я тут поняла, что я упустила вообще из виду, как в F# с сабтайпингом. Дыра!
У нас есть генерик оператор upcast с выводом типов, часто его хватает
Nikolay
@fvnever ну так какой вариант предложишь? :)
Dr. Friedrich
Dr. Friedrich
Какую-нибудь!
Nikolay
🤔
Nikolay
Я не смог придумать, поэтому написал сюда :D
Dr. Friedrich
Из разряда let lift f a b c = upcast f a b c
Nikolay
А если количество аргументов может быть разным?
Dr. Friedrich
А если количество аргументов может быть разным?
Если оно разное в разных ветках — то у тебя вообще ничего не получится.
Dr. Friedrich
А если ты просто хочешь вариадик лифт, то можно попробовать каким-нибудь хаком.
Dr. Friedrich
Но ты попробуй хотя бы с тремя аргументами — это вообще сработает?
Nikolay
Щас посмотрим
Dr. Friedrich
Я боюсь, что придётся типы аннотировать, а в таком контексте это жопка
Nikolay
Nikolay
@fvnever арбайтен
Dr. Friedrich
Гм, такого я не ожидал
Dr. Friedrich
Но получилась стыдоба :(
Nikolay
Почему?
Nikolay
Это пока лучший вариант)
Dr. Friedrich
Мне не нравится три аргумента у lift и то, что тип пришлось руками выписать.
Dr. Friedrich
Я попытался сделать его норм генериком, и ни хрена не вышло сходу.
Nikolay
А если ты просто хочешь вариадик лифт, то можно попробовать каким-нибудь хаком.
Nikolay
Нужны хаки
gsomix
Все еще решаете несуществующие проблемы?
Dr. Friedrich
Все еще решаете несуществующие проблемы?
Да как несуществующие? Видишь, какого крокодила пришлось написать?
Nikolay
Все еще решаете несуществующие проблемы?
Ну ты же не предложил решения :)
Dr. Friedrich
Лучше не показывайте его людям.
А мы щас на гитхаб зальём!
gsomix
Ну ты же не предложил решения :)
А с чем боремся? С бойлерплейтом?
gsomix
Напиши функцию.
gsomix
Меня так учили.
Nikolay
Не может быть, что эту проблему нельзя решить
Nikolay
У нас же вывод типов есть
Анна
Вывод типов же не волшебник
gsomix
Не может быть, что эту проблему нельзя решить
Заведи функцию executeCmd, которая будет передавать аргументы и делать execute.
Nikolay
Вывод типов же не волшебник
А тут волшебства нет
gsomix
У меня утром плохо с фантазией на названия функций.
Nikolay
Нужно просто правильно кастить
Nikolay
Так оно так и есть, не?
gsomix
Где?
gsomix
И замени уже match на человеческий if-then-else.
Анна
Да.
я тоже там if хочу
Nikolay
Где?
execute принимает интерфейс
Nikolay
Который реализуют возвращаемые sendPhoto/sendDocument типы
gsomix
Блин, придется за тебя писать.
Nikolay
🤷‍♂️
gsomix
let execute cmd = cmd message.Chat.Id file "" |> execute context if json.File.EndsWith ".gif" then execute sendDocument else execute sendPhoto
gsomix
Это уже можно людям показывать.
Vasily
А участникам митапа?
Nikolay
У них крыша поедет
gsomix
Для участников митапа можно и с бойлерплейтом показать.
gsomix
Попроще нужно делать.
gsomix
И почему мы это обсуждаем не в основном, кстати?
Nikolay
Тупые вопросы)
Nikolay
Там побьют
Nikolay
Да и тут уютнее
Romɑn
Тупые вопросы)
Никто тебя не побьет
Romɑn
Да и тут уютнее
Иногда чтоб сообщество росло надо и там тоже бывать.
Анна
Ребята, вы сегодня какие-то колючие
Nikolay
Это могло звучать грубо, но я с самыми добрыми намерениями :D
Romɑn
Доволен?
Спасибо. Теперь пиши статьи
Romɑn
Ребята, вы сегодня какие-то колючие
Все ок. Куда ты дела Аню?
Nikolay
Анна
Все ок. Куда ты дела Аню?
1 сентября, в понедельник на пары 😐
Анна
у Ани снова раздвоение личности на программиста и корееведа
Nikolay
Верните Аню
Nikolay
ироды