Size: a a a

2021 April 15

g

gsomix in F# Chat
Судя по тому, что изначально был sortBy, то туплю ты сам делаешь.
источник

g

gsomix in F# Chat
А она тебе не нужна.
источник

AH

Ayrat Hudaygulov in F# Chat
так эта... я может тупой дохуя

...
|> Seq.sortWith (fun (x1, y1, l1) (x2, y2, l2) ->
 if x1 > x2 then 1
 elif x1 = x2 then
   if y1 > y2 then 1
   elif y1 = y2 then
     if l1() > l2() then 1
     ...
)
источник

AH

Ayrat Hudaygulov in F# Chat
ну ты понял
источник

AH

Ayrat Hudaygulov in F# Chat
там тривиально
источник

AH

Ayrat Hudaygulov in F# Chat
if x1 > x2 then 1
elif x1 < x2 then -1
else

if y1 > y2 then 1
elif y1 < y2 then -1
else

let l1 = l1()
let l2 = l2()

if l1 > l2 then 1
elif l1 < l2 then -1
else 0
источник

g

gsomix in F# Chat
Там даже туплей нет в последовательности.
источник

g

gsomix in F# Chat
Переслано от Дмитрий Башинский...
как правильно использовать lazy в сортировке? и можно ли вообще
у меня есть

|> Seq.sortByDescending ^ fun x -> (x.Score, x.Time, lazy (HardComutation(x)))

но lazy по ссылке сравнивается
источник

AH

Ayrat Hudaygulov in F# Chat
вот в этом сравнении твой лейзи вызывается только если сравнения по первым двум параметрам не выявили победителя
@BashkaMen
источник

g

gsomix in F# Chat
Просто сравнение полей и вычисления над элементом.
источник

AH

Ayrat Hudaygulov in F# Chat
да, тут даже без тупля
источник

AH

Ayrat Hudaygulov in F# Chat
if x.Score > y.Score then 1
elif x.Score < y.Score then -1
else

if x.Time > x.Time then 1
elif x.Time < x.Time then -1
else

let x = HardComputation x
let y = HardComputation y

if x > y then 1
elif x < y then -1
else 0
источник

AH

Ayrat Hudaygulov in F# Chat
последний иф можно на CompareTo заменить

x.CompareTo y
источник

AH

Ayrat Hudaygulov in F# Chat
но конечно можешь продолжать делать кастомные операторы над лейзи
источник

AH

Ayrat Hudaygulov in F# Chat
(лучше не надо)
источник

VS

Vasily Shapenko in F# Chat
Да он явно настойчивый
источник

VS

Vasily Shapenko in F# Chat
Умеет отстаивать собственную точку зрения
источник

AH

Ayrat Hudaygulov in F# Chat
это неплохо да, но где мы будем, если не наставим человека на путь истинный
источник

ДБ

Дмитрий Башинский... in F# Chat
я сделал подобное в lazyCompareTuple
источник

AH

Ayrat Hudaygulov in F# Chat
при этом аллоцировал 3 функции на ровном месте.
источник