Sha256: 9a6db012b1eeadfea1e31d8adb617dd1bd3e0a8720a0b625f82c2c04a97a4c50

Contents?: true

Size: 708 Bytes

Versions: 34

Compression:

Stored size: 708 Bytes

Contents

module Meetup

open System

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

let meetup year month dayOfWeek schedule = 
    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

34 entries across 34 versions & 1 rubygems

Version Path
trackler-2.2.1.88 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.87 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.86 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.85 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.84 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.83 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.82 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.81 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.80 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.79 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.78 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.77 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.76 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.75 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.74 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.73 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.72 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.71 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.70 tracks/fsharp/exercises/meetup/Example.fs
trackler-2.2.1.69 tracks/fsharp/exercises/meetup/Example.fs