Size: a a a

2021 February 20

AV

Aleksey Vyushkov in F# Chat
Denis Bobrov
комбинировать exception-ы и result-ы ?
Никто не мешает сделать Result<'a,exn>
комбинировать raise и Result
источник

I

IdiocyAcceptance in F# Chat
Исключения хороши когда ты точно хочешь прервать выполнение кода, когда вот прямо продолжение абсолютно бессмысленно
источник

AV

Aleksey Vyushkov in F# Chat
или это влечёт за собой много try catch. Это уже будет каша
источник

AV

Aleksey Vyushkov in F# Chat
IdiocyAcceptance
Как правило, можно объявить DU с доменными ошибками при той же валидации, возвращать Error<твой DU>
норм варик
источник

AV

Aleksey Vyushkov in F# Chat
звучит здраво)
источник

DB

Denis Bobrov in F# Chat
вообще я бы реально на твоем месте потратил пару часов на то чтобы заюзать fparsec
он как раз для твоей задачи
источник

DB

Denis Bobrov in F# Chat
хотя если цель изучить фарш то он не очень подходит (но тогда получается велосипед)
источник

AV

Aleksey Vyushkov in F# Chat
ну я разбираюсь с основами языка. Круто, что есть либы парсинга конечно
источник

AV

Aleksey Vyushkov in F# Chat
велосипед - My way) в данном случае
источник

AV

Aleksey Vyushkov in F# Chat
инкрементальное обучение -все дела
источник

DB

Denis Bobrov in F# Chat
Aleksey Vyushkov
а чтоб за O(n)?
let getOperands (expr:string) =
   let mutable err = None
   let res = ResizeArray<_>()
   for e in expr.Split(' ') do
       if err.IsNone then
           let parsed = parseOperand e
           match parsed with
           | Ok op -> res.Add(op)
           | Error e -> err <- Some e
   if err.IsSome then
       Result.Error err.Value
   else
       Result.Ok (res.ToArray())
источник

AV

Aleksey Vyushkov in F# Chat
мммм спасибо!
источник

DB

Denis Bobrov in F# Chat
if err.IsNone then это костыль вместо continue, по хорошему там надо while но мне лень )
источник

DB

Denis Bobrov in F# Chat
это не фп ни разу но работает
источник

оГ

отец Григорий... in F# Chat
Ф# не про фп
источник

DB

Denis Bobrov in F# Chat
да понятно
источник

DB

Denis Bobrov in F# Chat
я к тому что это не ROP и всё такое а "шобработало"
источник

AV

Aleksey Vyushkov in F# Chat
Ну получается ROP и «быстро» не вяжутся?
источник

DB

Denis Bobrov in F# Chat
Всё что угодно вяжется )
источник

DB

Denis Bobrov in F# Chat
Зависит от того как напишешь и зачем
источник