Sha256: 408258f798d3fd17c5ad07e38c8e1cde96f447773f51a1355fac7a4cbfe58b14

Contents?: true

Size: 711 Bytes

Versions: 272

Compression:

Stored size: 711 Bytes

Contents

module Meetup

open System

type Schedule = First | Second | Third | Fourth | Last | Teenth

let meetupDay dayOfWeek schedule year month = 
    let daysOfWeek = 
        [1..DateTime.DaysInMonth(year, month)]
        |> List.map (fun day -> new DateTime(year, month, day))
        |> List.filter (fun date -> date.DayOfWeek = dayOfWeek)
               
    match schedule with
    | Schedule.First  -> daysOfWeek |> List.item 0
    | Schedule.Second -> daysOfWeek |> List.item 1
    | Schedule.Third  -> daysOfWeek |> List.item 2
    | Schedule.Fourth -> daysOfWeek |> List.item 3
    | Schedule.Last   -> daysOfWeek |> List.last 
    | Schedule.Teenth -> daysOfWeek |> List.find (fun date -> date.Day >= 13)

Version data entries

272 entries across 272 versions & 1 rubygems

Version Path
trackler-2.2.1.54 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.53 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.52 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.51 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.50 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.49 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.48 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.47 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.46 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.45 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.44 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.43 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.42 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.41 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.40 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.39 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.38 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.37 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.36 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.35 tracks/fsharp/exercises/meetup/Example.fs