Sha256: ba4535e172e3daeaf3819d3d72dd21de72f7da69cfc521bebe5e06c1ede6c1e8

Contents?: true

Size: 488 Bytes

Versions: 262

Compression:

Stored size: 488 Bytes

Contents

module Allergies

open System

type Allergen = 
   | Eggs = 1
   | Peanuts = 2
   | Shellfish = 4
   | Strawberries = 8
   | Tomatoes = 16
   | Chocolate = 32
   | Pollen = 64
   | Cats = 128

let allergicTo (allergen: Allergen) (codedAllergies: int) = codedAllergies &&& int allergen <> 0

let allergies (codedAllergies: int) = 
    Enum.GetValues(typeof<Allergen>) 
    |> Seq.cast<Allergen> 
    |> List.ofSeq 
    |> List.filter (fun allergen -> allergicTo allergen codedAllergies)

Version data entries

262 entries across 262 versions & 1 rubygems

Version Path
trackler-2.2.1.44 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.43 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.42 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.41 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.40 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.39 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.38 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.37 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.36 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.35 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.34 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.33 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.32 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.31 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.30 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.29 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.28 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.27 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.26 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.25 tracks/fsharp/exercises/allergies/Example.fs