Size: a a a

2020 July 15

SN

Shub Niggurath in F# Chat
Renat Amirov
Всем привет!

Я тут прочитал книжку "Isaac Abraham - Get Programming with F#_ A guide for .NET developers".

А потом сразу взялся за "Scott Wlaschin - Domain Modeling Made Functional - Tackle Software Complexity with Domain-Driven Design and F#".

И че то проникся. Как-то захотелось вот таким способом писать код и больше не запариваться другими парадигмами и языками. )
это пройдет как только рабочий проект начнешь писать.
источник

AI

Anton Iliyn in F# Chat
жестоко :с
источник

AH

Ayrat Hudaygulov in F# Chat
Семён Трояновский
ребят, всем привет, в F# при if clause после then как-то можно два экспрешона вставить?
if bool then
 expr1
 expr2
else
 expr3
источник

AH

Ayrat Hudaygulov in F# Chat
expr1 должен возвращать юнит иначе будет варнинг
expr2 и expr3 должны возвращать один тип иначе будет ошибка
источник

TK

Traveller Kolsky in F# Chat
Если ветвь else опустить, expr2 тоже должен возвращать unit
источник

TK

Traveller Kolsky in F# Chat
И вместо стандартного else if - elif
источник

СТ

Семён Трояновский... in F# Chat
Ayrat Hudaygulov
expr1 должен возвращать юнит иначе будет варнинг
expr2 и expr3 должны возвращать один тип иначе будет ошибка
ох с этим юнитом мне ещё предстоит разобраться
источник

СТ

Семён Трояновский... in F# Chat
пока написал что надо было, вроде работает
источник

TK

Traveller Kolsky in F# Chat
Семён Трояновский
ох с этим юнитом мне ещё предстоит разобраться
Это грубо говоря void, который превратили в тип
источник

IC

Ilya L Che in F# Chat
void и есть тип, просто его из сишарпа сделали недоступным, кажется.
источник

СТ

Семён Трояновский... in F# Chat
но кстати второй экспрешн после then норм встает только через ; рядом с первым. при переносе на новую строку начинает на elif ругаться
источник

DB

Denis Bobrov in F# Chat
Renat Amirov
Всем привет!

Я тут прочитал книжку "Isaac Abraham - Get Programming with F#_ A guide for .NET developers".

А потом сразу взялся за "Scott Wlaschin - Domain Modeling Made Functional - Tackle Software Complexity with Domain-Driven Design and F#".

И че то проникся. Как-то захотелось вот таким способом писать код и больше не запариваться другими парадигмами и языками. )
Стремление к пайплайнам
x |> y |> z |> d |> f
во всём коде - тоже не всегда благое
иногда такой код становится совершенно нечитаемым
источник

hs

habib sadullaev in F# Chat
Prunkles Dreemurr
А можно ли как-то такое красиво сделать матчем, без собственного активного паттерна?
let f descriptor =
   match descriptor with
   | { ImplementationType = x }
   | { ImplementationInstance = x }
   | { ImplementationFactory = x } when not (isNull x) ->
       sprintf "Type: %O" x
   | _ -> "N/A"
источник

Н

Николай in F# Chat
Семён Трояновский
но кстати второй экспрешн после then норм встает только через ; рядом с первым. при переносе на новую строку начинает на elif ругаться
У обоих экспрешенов одинаковые отступы?
источник

СТ

Семён Трояновский... in F# Chat
Николай
У обоих экспрешенов одинаковые отступы?
Ага
источник

СТ

Семён Трояновский... in F# Chat
Я уверен у меня с точки зрения функционального программинга там полная хренотень но видимо в чем именно я разберусь когда-то позже)
источник

Г

Герман in F# Chat
habib sadullaev
let f descriptor =
   match descriptor with
   | { ImplementationType = x }
   | { ImplementationInstance = x }
   | { ImplementationFactory = x } when not (isNull x) ->
       sprintf "Type: %O" x
   | _ -> "N/A"
let f = function :^)
источник

IC

Ilya L Che in F# Chat
Это разные вещи, всё же.
источник

DB

Denis Bobrov in F# Chat
Семён Трояновский
Я уверен у меня с точки зрения функционального программинга там полная хренотень но видимо в чем именно я разберусь когда-то позже)
Для того чтобы писать быстрый, читаемый, тестируемый и выполняющий задачу код не обязательно писать функционально
источник

TK

Traveller Kolsky in F# Chat
Но желательно :)
источник