Size: a a a

2021 January 17

DB

Denis Bobrov in F# Chat
написано на коленке , проверять не проверял в общем на свой страх и риск
источник

DB

Denis Bobrov in F# Chat
(но вроде выдало (2, false))
источник

g

gsomix in F# Chat
Мне кажется, fold следует использовать пореже.
источник

g

gsomix in F# Chat
Тут бы помог аналог group из Haskell.
источник

DB

Denis Bobrov in F# Chat
чем тебе fold не угодил ?
источник

g

gsomix in F# Chat
Сложный и непонятный.
источник

g

gsomix in F# Chat
Я бы оставил его в библиотечном коде.
источник

SB

S B in F# Chat
gsomix
Сложный и непонятный.
Это ты зря. Fold это праотец очень многих более простых операторов вроде concate, map, filter и других. В целом, fold очень особое место занимает в мире ФП.
источник

g

gsomix in F# Chat
А задача решается в несколько строк кода. Еще единичку нужно отнять, чтобы получить количество переходов, а не количество групп.

xs
|> Seq.map (fun (l, r) -> l > r)
|> Seq.chunkBy id // найти или написать самому
|> Seq.length
источник

DB

Denis Bobrov in F# Chat
Как раз таки fold весьма простая операция, и часто его можно применять как швейцарский нож для разных штук
источник

DB

Denis Bobrov in F# Chat
gsomix
А задача решается в несколько строк кода. Еще единичку нужно отнять, чтобы получить количество переходов, а не количество групп.

xs
|> Seq.map (fun (l, r) -> l > r)
|> Seq.chunkBy id // найти или написать самому
|> Seq.length
вот тут как раз нужно знать что за "chunkBy" , и почему туда передается ф-я id
источник

DB

Denis Bobrov in F# Chat
гораздо непонятнее фолда, имхо
источник

g

gsomix in F# Chat
Seq.chunkBy — это group из Haskell.
источник

g

gsomix in F# Chat
Ну ладно.
источник

g

gsomix in F# Chat
Seq.chunkBy : ('T -> 'Key) -> seq<'T> -> seq<('Key * seq<'T>)>
источник

DB

Denis Bobrov in F# Chat
gsomix
Seq.chunkBy — это group из Haskell.
ну я например на haskell не писал и не собираюсь
те кто знают C# и пришел в F# из него наверное тоже
источник

g

gsomix in F# Chat
Хотели в стандартную библиотеку добавить, но не добавили.

https://github.com/fsharp/fslang-design/issues/25
источник

g

gsomix in F# Chat
Denis Bobrov
ну я например на haskell не писал и не собираюсь
те кто знают C# и пришел в F# из него наверное тоже
Довольно часто встречается, полезная функция.

group "Mississippi" = ["M","i","ss","i","ss","i","pp","i"]
источник

g

gsomix in F# Chat
Нашел в FSharpx.Collections, да и название получше.

https://github.com/fsprojects/FSharpx.Collections/blob/master/src/FSharpx.Collections/Collections.fs#L73-73
источник

I

Igor in F# Chat
gsomix
Seq.chunkBy : ('T -> 'Key) -> seq<'T> -> seq<('Key * seq<'T>)>
это groupBy
источник