Oleksandr
лучшее комьюнити в мире
Ayrat
там просто не торопятся язык на неткор переводить
Ilya
И комьюнити из одного человека.
Roman
Vasily
Ну чот говнина полным перебором
Vasily
Надо элегантнее
Vasiliy
ахах, доставка стола (17к рублей) с Али будет стоить еще 12к рублей. Так что без разницы где его покупать там или тут в икеа.
ну если только прям не заморочиться и отдельно все купить и собрать.
Anatoly
С Али давно не имеет смысла заказывать то, что продаётся здесь.
Ayrat
Vagif
Задачи второго дня AdventOfCode, имхо, менее интересные, чем вчера.
Nikolay
А можно через SRTP просто константу прочитать? 🤔 Типа:
type SRTP =
{ gasga: int }
static member a = 1
Чет не пойму как значение a получить. Мне кажется уже ранее обсуждали это, и пришли к выводу, что нельзя?
Nikolay
@omgszer вроде с тобой обсуждали подобное
Ayrat
Ayrat
Ayrat
Но неважно, можно
Nikolay
Ayrat
Nikolay
(^a: (static member a: int))
Ayrat
Nikolay
(^a: (static member a: int) x)
Nikolay
Та же хуйня
Nikolay
Expected 0 expressions, got 1
Ayrat
А когда не даёшь аргумент?
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
habib
Nikolay
Nikolay
Теперь это вкурить надо
Ayrat
Ilya
Хм.
даже для тебя эльфийский?
gsomix
gsomix
Есть две вещи, которые никто не может написать с первого раза, потому что забывают синтаксис: SRTP и свойства. 🙃
Nikolay
Я почти правильно написал
Nikolay
Но не прописал констрейнт
Nikolay
А сам он не додумался вывести, глупец
Nikolay
gsomix
gsomix
Всегда забываю, какой у них синтаксис.
Nikolay
Вот так вроде
gsomix
Спасибо!
Vladislav
habib
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
нет, ну вы посмотрите в этот пиздец