Oleksandr
лучшее комьюнити в мире
Ayrat
лучшее комьюнити в мире
это шутеечка, еще раз повторюсь
Ayrat
там просто не торопятся язык на неткор переводить
Ilya
И комьюнити из одного человека.
Vasily
Ну чот говнина полным перебором
Vasily
Надо элегантнее
Edward
https://gist.github.com/Szer/1a044dcf8c5ffe84b3976dc20344453b
Mine is way too simple lol https://gist.github.com/ArchitectCat/377135df48c58088ba7c3f01c7262bde
Vasiliy
ахах, доставка стола (17к рублей) с Али будет стоить еще 12к рублей. Так что без разницы где его покупать там или тут в икеа. ну если только прям не заморочиться и отдельно все купить и собрать.
Anatoly
С Али давно не имеет смысла заказывать то, что продаётся здесь.
Vagif
Задачи второго дня AdventOfCode, имхо, менее интересные, чем вчера.
Nikolay
А можно через SRTP просто константу прочитать? 🤔 Типа: type SRTP = { gasga: int } static member a = 1 Чет не пойму как значение a получить. Мне кажется уже ранее обсуждали это, и пришли к выводу, что нельзя?
Nikolay
@omgszer вроде с тобой обсуждали подобное
Ayrat
Но неважно, можно
Nikolay
(^a: (static member a: int))
Ayrat
(^a: (static member a: int))
Ну ты аргумент подай бля
Nikolay
(^a: (static member a: int) x)
Nikolay
Та же хуйня
Nikolay
Expected 0 expressions, got 1
Ayrat
А когда не даёшь аргумент?
Nikolay
А когда не даёшь аргумент?
Unexpected symbol ')' in lambda expression
Nikolay
Вроде ему обязательно аргумент нужен
Ayrat
Придется поискать в закромах
Nikolay
Ебинячий синтаксис
Ayrat
Воистину
Ayrat
Я думаю ты можешь написать static member get_Foo: unit -> ...
Ayrat
И подать юнит аргументом
Nikolay
Так могу)
Ayrat
Ну и збс
Nikolay
Но не очень хочу
Nikolay
Собсна, поэтому за вопросом и пришел
Ayrat
Ну чот я вспомнил что мы с тобой это уже обсуждали!
Nikolay
Вот и я о том же
Ayrat
И вроде разговор был такой же
Ayrat
Я был уверен что это работает, ты говорил не работает
Nikolay
Вот да, поэтому на всякий переспросил
Ayrat
В итоге костыль
Nikolay
Nikolay
Хотя с юнитом чот тож не особо получается 🤔
Nikolay
Type constraint mismatch when applying the default type 'obj' for a type inference variable. The type 'obj' does not support the operator 'a' Consider adding further type constraints(6,30)
Nikolay
https://try.fsharp.org/#?code=C4TwDgpgBAygSgFQApQLxQLACgpQN5QDmAhgM4kBcUAlgHbBQC+2upwxw1AxlALYS8ARhABOUYlAAUASjRQAjNmwAbCAwnoCJchqgAGJirU1ayutABmtKbPQWArtZlQAtAD4pAPWJVJbDtx8AsJiPlCO1AzuJsCyMtLYYCJ0wFZQAEQApACC6eJAA&html=DwCwLgtgNgfAsAKAAQqaApgQwCb2ag4CdMTJcMABwFp0BHAVwEsA3AXgCIBhAewDsw6AdQAqAT0roOSAMb9BAzoIAeYAPThoAbhkhMAJwDOJNgzAAzagA4OeQhqy5EhAEY9sYu6mBq3HvD6asEA&css=Q
Nikolay
Теперь это вкурить надо
Ilya
Хм.
даже для тебя эльфийский?
gsomix
Есть две вещи, которые никто не может написать с первого раза, потому что забывают синтаксис: SRTP и свойства. 🙃
Ayrat
даже для тебя эльфийский?
Не, я думал о том что надо юнит подать, но это нелогично
Nikolay
Я почти правильно написал
Nikolay
Но не прописал констрейнт
Nikolay
А сам он не додумался вывести, глупец
gsomix
Всегда забываю, какой у них синтаксис.
Nikolay
Всегда забываю, какой у них синтаксис.
member x.Prop with get () = prop and set (v) = prop <- v
Nikolay
Вот так вроде
gsomix
Спасибо!
Nikolay
member val
Это auto-property вроде
Ayrat
а почему нелогично?
ну потому что это проперти, а не метод. То что он там в IL является методом меня не должно особо волновать. с точки зрения фшарпа (который не только в IL компилится) там не должно быть юнит аргумента, потому что его там нет
habib
по мне, то, что передается как параметр в сртп с этим не связано
habib
я воспринимаю сртп как псевдометод с аргументами
habib
типа: type Srtp() = member _.Resolve([<System.ParamArray>]args: obj array) = () let srtp = Srtp() 1. srtp.Resolve() 2. srtp.Resolve 5 3. srtp.Resolve(5, "a", obj()) ....
habib
как-то так
habib
исправил*
habib
скобки можно опустить в случае с одним аргументом для резолва
habib
как если бы было так: let inline geta x = (^a : (member get_a: unit -> int) x)
Ayrat
но тут инстасный мембер и ты должен подать инстанс
Ayrat
ну ладно, там синтаксис вырвиглазный
habib
но юнит вторым аргементом не передается, только инстанс
habib
а не так: let inline geta x = (^a : (member get_a: unit -> int) (x, ()))
Ayrat
а вот хеадеры https://github.com/dotnet/aspnetcore/blob/77fe36f069c89381caba274784902ff0f248fe57/src/Servers/Kestrel/shared/KnownHeaders.cs
Ayrat
нет, ну вы посмотрите в этот пиздец