Nuxs🏴‍☠️
Не понимаю, зачем это вообще в F# добавили?
Nuxs🏴‍☠️
Просто, для чего?
Nuxs🏴‍☠️
Даже от goto в C# может быть какая-то польза
Ayrat
Да
там можно вообще что хочешь написать.
Ayrat
в сишурупе вроде так же, но не совсем так же.
Ayrat
там вижла ебёт мозг, а компилятору на самом деле насрать
Nuxs🏴‍☠️
Ayrat
Хоть небольшой скрипт?
я хз есть ли тут вектор для атак, не думаю что это как-то евалуируется
Vladimir
Не понимаю, зачем это вообще в F# добавили?
на этом целая либа держится!
Ayrat
Не понимаю, зачем это вообще в F# добавили?
это по-моему во всех языках нормальных языках есть, в чём проблема-то?)
Ayrat
в сишарпе просто пиши \u123187289 и ок
Ayrat
Зачем?
если хочется ебанутых имён
Ayrat
Зачем?
Ты можешь этим способом сделать имя класса с пробелами. Просто в сишарпе нет удобных дабл тиков и приходится изъебываться явным утф енкодингом
Roman
Просто, для чего?
например, DU с названиями стран. Потом просто делаешь у него toString и у тебя сразу нормальное имя
Roman
более частый кейс — нормальные названия тестов
Roman
читаемый текст, а не вотТакаяПоебтаКоторуюНеОченьУдобноЧитатьВСлучаеДлинныхНазваний
Igor
через дабл тики-то?
Интересно кстати почему два бектика (в том же котлине один используется). Возможно что бы не кофликтовали с полиморфными вариантами, которые так и не добавили в язык.
Mark
блин, дебажу уже час, баг уже пофиксил, понял в чем проблема, но просто интересно почему же так Из-за этих изменений при вызове конструктора (это код конструктора) возникает nullreferenceexception.
Mark
Mark
то есть я просто подумал что можно убрать явные new Dictionary<TKey, TValue> и new List<T> и вместо этого просто писать {}
Mark
и раз компилятор скомпилировал думал все ок
Mark
есть идеи?
Andrew
Это вроде не фшарп
Andrew
А, флуд
Andrew
Где падал наллреф?
Vladimir
https://twitter.com/Lanayx/status/1256614441648640002
Andrew
https://twitter.com/Lanayx/status/1256614441648640002
Дико люблю то, что не нужно обьявлять приватные поля ради того чтобы засейвить параметры из конструктора
Vladimir
соглашусь)
Andrew
https://twitter.com/Lanayx/status/1256614441648640002
Ну с сишарпом слева меньше кода будет явно)
Andrew
Так что тут хоть и притянутый пример но в целом все равно красивее
Vladimir
ну он не притянут) и тот и тот это прям продакшн код)
Andrew
ну он не притянут) и тот и тот это прям продакшн код)
Я имею ввиду то, что геттер джавовский на сишарпе выглядел бы чуть короче в виде свойства
Mark
Где падал наллреф?
для того чтобы понять где именно надо будет код немного переделать, через пол часа отпишу
Mark
ну вот к примеру я вот так инициализирую да? var urls = new ExchangeUrls { Api = { {"v2", "https://openapi.bitmart.com/v2/"}, {"public", "https://openapi.bitmart.com/v2/"}, {"private", "https://openapi.bitmart.com/v2/"} }, Logo = "https://user-images.githubusercontent.com/1294454/61835713-a2662f80-ae85-11e9-9d00-6442919701fd.jpg", Doc = { "https://github.com/bitmartexchange/bitmart-official-api-docs", "https://developer.bitmart.com/v2/en/" }, Referral = "http://www.bitmart.com/?r=rQCFLh", Fees = {"https://www.bitmart.com/fee/en"}, Www = "https://www.bitmart.com/" }; и выходит наллреф стактрейс: at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean wrapExceptions, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& hasNoDefaultCtor) at System.RuntimeType.CreateInstanceDefaultCtorSlow(Boolean publicOnly, Boolean wrapExceptions, Boolean fillCache) at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, Boolean wrapExceptions) at System.Activator.CreateInstance(Type type, Boolean nonPublic, Boolean wrapExceptions) at System.Activator.CreateInstance(Type type)
Mark
немного пораньше даже вышло чем через пол часа @FreeParticle
Andrew
Интересно
Andrew
Понятия не имею, честно говоря
Andrew
Возможно это как то связанно с вложенными коллекциями, хз
Mark
хм,да, я тоже так думаю
Mark
в общем все эти 3 коллекции (и 2 листа и 1 словарь) выкидывают этот эксепшен, пробовал по отдельности
Andrew
Это нужно смотреть во что это превращается
Andrew
Какой IL
Mark
ок, на шарплабе зарепродюсаю как-нибудь позже
Mark
я думал что это небольшой рефакторинг и не надо даже тесты запускать после него
Mark
в итоге -2 часа времени
Андрей
https://twitter.com/Lanayx/status/1256614441648640002
в жабе можно интерфейсы анонимно имплементить, короче, и почти как в шарпе { new IDisposable with ... }
Vladimir
не хватает дефолтных методов интерфейса, приходится абстрактные классы писать и надеяться что не придется от двух наследоваться
Nikolay
Nikolay
Танкер стал "нормальное пиво" делать
Nikolay
Nikolay
Nikolay
Nikolay
По поводу пива, тут народ из Эстонии такое заказывает
Ayrat
легаси?
В джаве это возможно, а он портирует с джавы
Vladimir
в либах это просто реально удобно
Sergey
В джаве это возможно, а он портирует с джавы
ну мб у нео легаси джава и там еще нельзя и он через абстрактные
Vladimir
у du есть большой минус - не переиспользуется логика
Nikolay
А так сейчас выглядит аэропорт Домодедово
Ayrat
у du есть большой минус - не переиспользуется логика
ФП часть фшарпа отвергает наследование реализации. Рекорды и Ду только интерфейсы наследуют
Vladimir
ну вот наследование реализации непонятно почему считается антипаттерном, раньше я понимал даже, а сейчас нет)
Анна
тут же где-то были кулстори про бегающие будки и лошадей, отнаследованных от собак (от @omgszer (?) и доктора, которого уже нет с нами во флудилке)
Vasily
А шо за доктор был?
Vladimir
доктор усопших?)
Ayrat
Это моя история про лошадей-собак.
У меня была про будки и собак
Dr. Friedrich
У меня была про будки и собак
У меня без будок, но с лошадями.
Анна
Это моя история про лошадей-собак.
О, ты тут 🙃 А я тебя тэгнуть не смогла
Анна
подумала, выпилился из чата
Dr. Friedrich
Это телеграм глючит, я ничо не трогал.