К основному контенту

Сообщения

Сообщения за сентября 27, 2018

F# пример объединения ООП и ФП при разработке программы

module Person = type PersonId = PersonId of int type PersonName = PersonName of string type Person = { Id : PersonId ; Name : PersonName } let create ( id , name ) = { Id = id ; Name = name } let getName person = let ( PersonName name ) = person . Name name let getId person = let ( PersonId id ) = person . Id id let show person = printfn "[id = %d; name = %s]" ( getId person ) ( getName person ) type Person with static member Create ( id , name ) = create ( PersonId id , PersonName name ) member it . Show () = show it let p = Person . Create ( 1 , "Вася" ) p . Show ()