Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module MyProgram
- open System
- open System.IO
- let (|>) x f = f x
- let func x = x * x + 2 * x + 4 - 11 * 11 - x * x * x
- let toString (x : int) = x.ToString() + "DimaEvtyukhov"
- let reverseString (x : string) = new String(Array.rev (x.ToCharArray())) + "M32011"
- let result1 (x : int) = x |> func |> toString |> reverseString
- type GeometricFigure =
- | Rectangle of width : float * length : float
- | Circle of radius : float
- | Triangle of length : float
- | Ellipse of focus : float
- let rectangle = Rectangle(length = 100., width = 100.)
- let circle = Circle (10.)
- let triangle = Triangle(11.)
- let ellipse = Ellipse(228.)
- let getFigureParameter figure =
- match figure with
- | Rectangle(length = len) -> len|> printfn "%A"
- | Circle(radius = r) -> r |> printfn "%A"
- | Triangle(length = len) -> len |> printfn "%A"
- | Ellipse(focus = f) -> f |> printfn "%A"
- let result2 = rectangle |> getFigureParameter
- type Logger() =
- let log p = printfn "logged %A" p
- member this.Bind(x, f) =
- log x
- f x
- member this.Return(x) = x
- let logger = new Logger()
- let loggedWork =
- logger
- {
- let! x = 1
- let! y = 5
- let! z = x + y
- return z
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement